Modifier la propriété caption d'un label

patrickherve Messages postés 4 Date d'inscription mercredi 16 août 2006 Statut Membre Dernière intervention 27 septembre 2007 - 18 août 2006 à 15:38
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 - 22 août 2006 à 11:56
bonjour je suis entrain de faire mes premiers pas avec visual basic 6 j'ai une difficulté

en fait je voudrais savoir comment faire pour modifier la propriété
caption d'un label à partir d'un texte saisi par l'utilisateur dans un
TextBox. qui appartient à un autre Form.

j'ai éssayé ceci mais le code ne marche pas puisque le texte affiché par le label ne change pas:

"MaForm2.Label1(i).Caption=Dialog.TextBox1.Text"

(vous avez remarquez que j'utilise un label qui a des index)

Merci d'avance

14 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
18 août 2006 à 15:46
salut,
la form MaForm2 et ta form Dialog sont bien visibles toutes les 2?
ton code est bien placé dans l'évènement Change du TextBox1 ?

++
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
18 août 2006 à 15:46
Non ton code est correct, ca devrait marcher ! Je vois pas ce qui peut coincer !
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
18 août 2006 à 15:56
Salut,


Si cela ne fonctionne pas:


- Ta form contenant le Label1 (indexé ) s'appelle t elle bien MaForm2 (idem textbox mais avec Dialog)?
- Ton Label indexé s'appelle t il bien Label1 (Idem Text mais avec textBox1)?
- Fait il réellement partie d'un groupe de contrôle?

Lorsque tu dis le code ne marche pas as tu un message d'erreur ou bien alors rien.
Je rejoint PCPT pour savoir où as tu placé ce code?






@+, Julien:

__
 
__
 Réponse acceptée
0
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
18 août 2006 à 16:09
J'ai une idée sur ton problème, j'ai rencontré un problème de ce genre un jour :

Ta form MaForm2 n'est pas chargée et la form Dialog appel cette ligne



MaForm2.Label1(i).Caption=Dialog.TextBox1.Text

Cela a pour conséquence de bien modifier le caption du Label. Seulement immédiatement après, la procédure Form_Load est appelée dans MaForm2 car celle-ci est désormais chargée.
Et il se peut qu'une ligne de code vienne ensuite "re-modifier" le caption du label

Je sais pas si j'ai été très clair

Enfin, c'est une idée comme ça.

Bonne prog ++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
18 août 2006 à 16:42
possible...

une autre idée : ton groupe de contrôle n'existe pas.
pourquoi penser çà?! il n'y a pas de groupe de contrôles en VBA.
tu dis être en VB6 (ok) mais la TEXTBOX en VB6 est nommée Text1, contre TextBox1 en VBA....

to be continued....
<hr size="2" width="100%" />Prenez un instant pour répondre à ce sondage svp
0
Dolphin Boy Messages postés 630 Date d'inscription vendredi 5 mai 2006 Statut Membre Dernière intervention 17 février 2007
18 août 2006 à 19:20
Salut
TextBox1 me dit "vb.net", tu es sur d'avoir posté ton topic au bon endroit ?
Parce que si c'est du vb6, ton code devrait fonctionner.
Si c'est du vb.net c'est monlabel.text et non plus monlabel.caption qu'il faut utiliser.
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
18 août 2006 à 23:06
Salut,

Je penche pour les solutions de PCPT et Bouv.
Sachant qu'il y a encore une autre possibilité d'erreur : le i ne contient pas de valeur (ou pas la bonne)

Par contre Dolphin (désolé mais...), il est dans la catégorie VB6 (certe il peut se tromper, mais il l'a précisé aussi dans son 1er message)

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
<!--
0
patrickherve Messages postés 4 Date d'inscription mercredi 16 août 2006 Statut Membre Dernière intervention 27 septembre 2007
21 août 2006 à 15:12
salut pcpt les 2 form sont bien visibles mais le code n'est pas dans
l'evenement change du textbox1, le code il est dans l'évenement click
du label1 de la Form2.  puisque  ce que je voudrais réaliser
c'est qu'un utilisateur qui n'est pas satisfait  du texte affiché
par un label puisse cliquer dessus et  la Form Dialog apparait et
il saisit dans le textBox1 (de cette form dailog) le texte qu'il désire
voire apparaitre dans le label de la Form2.

merci encore
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
21 août 2006 à 15:17
Salut,


Pourquoi ne pas mettre ce code dans le bouton que doit appuyer l'utilisateur pour valider le changement de text.


Donne nous le code du click sur le label.


As tu essayer aussi le mode pas a pas pour voir ce que vaut le textbox lorsque tu passe a cet endroit.
@+, Julien
0
patrickherve Messages postés 4 Date d'inscription mercredi 16 août 2006 Statut Membre Dernière intervention 27 septembre 2007
21 août 2006 à 15:50
j'ai mis ce code sous le label  sur lequel l'utilisateur doit cliquer pour modifier le texte.

 voici le code:

Dim  Dialog As Form

Load Dialog

'Ici La Form Dialog apparait et l'utilisateur modifie la propriété
Text du TextBox en saississant le Texte qu'il veut voir apparaitre dans
le label de Form2.

'Il valide en cliquant sur un CommandButton que j'ai appellé OK et j'ai mis ce code dessous:

(Donc Quand il valide en cliquant sur OK voici ce qui se passe.)

Form2.Label1(i).Caption=Dialog.TextBox1.Text

Dialog.visible=False

je n'ai pas encore éssayé le mode pas à pas
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
21 août 2006 à 16:13
Re,
Il faut savoir aussi ce que vaut i lorsque l'utilisateur appuye sur OK.
Je pense qu il faudrait utiliser des MSGBOX pour controler les valeurs de i et de Dialog.TextBox1.text.

@+, Julien
0
Dolphin Boy Messages postés 630 Date d'inscription vendredi 5 mai 2006 Statut Membre Dernière intervention 17 février 2007
21 août 2006 à 19:37
Heu, en VB6 (comme en VBA) ton code :

Dim Dialog As Form
Load Dialog

plante. J'aurais plutôt codé (en VB6) :
Dans un module
Public Dialog As Form

Dans ton label_click
Set Dialog = New Form1 'ou le nom de ta form qui contient la textbox
Dialog.Show
Set Dialog = Nothing 'pour libérer la mémoire

Sinon, la variable Dialog ne sera pas connue de Form2.

A moins que ta form s'appelle déjà Dialog, dans ce cas, Dialog.Show suffit.
0
bouv Messages postés 1411 Date d'inscription mercredi 6 août 2003 Statut Membre Dernière intervention 3 mars 2019 1
22 août 2006 à 11:48
Simple suggestion :

Private Sub Label1_DblClick(Index As Integer)
    Dim sCaption As String
    sCaption = Label1(Index).Caption
    sCaption = InputBox$("Saisir un nouveau texte", "Modification", sCaption)
    If Not sCaption = vbNullString Then
        Label1(Index).Caption = sCaption
    End If
End Sub

Bonne prog ++
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
22 août 2006 à 11:56
>bouv: Il est vrai que cette suggestion est la bienvenue, et pourrait résoudre de manière simple le problème.

@+, Julien
0
Rejoignez-nous