Modifier la propriété caption d'un label

Signaler
Messages postés
4
Date d'inscription
mercredi 16 août 2006
Statut
Membre
Dernière intervention
27 septembre 2007
-
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
-
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

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
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
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
105
Non ton code est correct, ca devrait marcher ! Je vois pas ce qui peut coincer !
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
50
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
Messages postés
1411
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
3 mars 2019
1
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 ++
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
35
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
Messages postés
630
Date d'inscription
vendredi 5 mai 2006
Statut
Membre
Dernière intervention
17 février 2007

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.
Messages postés
6786
Date d'inscription
vendredi 16 décembre 2005
Statut
Membre
Dernière intervention
21 décembre 2011
18
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"
<!--
Messages postés
4
Date d'inscription
mercredi 16 août 2006
Statut
Membre
Dernière intervention
27 septembre 2007

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
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
50
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
Messages postés
4
Date d'inscription
mercredi 16 août 2006
Statut
Membre
Dernière intervention
27 septembre 2007

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
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
50
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
Messages postés
630
Date d'inscription
vendredi 5 mai 2006
Statut
Membre
Dernière intervention
17 février 2007

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.
Messages postés
1411
Date d'inscription
mercredi 6 août 2003
Statut
Membre
Dernière intervention
3 mars 2019
1
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 ++
Messages postés
7393
Date d'inscription
mercredi 23 avril 2003
Statut
Membre
Dernière intervention
6 avril 2012
50
>bouv: Il est vrai que cette suggestion est la bienvenue, et pourrait résoudre de manière simple le problème.

@+, Julien