Pb nom bouton

Résolu/Fermé
niny - 12 mars 2008 à 15:44
 niny - 13 mars 2008 à 14:28
Bonjour,

envi : VBA sous Excel

je créer des boutons dynamiques à travers un bouton. la création de ces boutons de fait au travers d'une boucle.
ces boutons font appels aux mêmes fonctions

mon pb est :

du fait que je mets mes boutons dans une boucle de "création" comment faire pour que leur nom corresponde à un choix fait dans un treeview par ex ?

j'arrive bien à récupérer le nom du choix mais il s'attache à tous les boutons et non pas seulement à celui cliqué. comment dois je mis prendre ?

une aide serait la bienvenue

merci

6 réponses

Bonjour,

Je crois que c'est la propriéte .Name qui donne le nom du bouton.
La propriété .Caption donne le texte inscit dans le bouton.

A+.
0
merci de répondre

oui c'est ca c'est dans le caption que je récupére le nom du choix fait par une personne qcq.
mais je sais pas comment faire pour que le nom de ce choix se mette sur le caption mais de facon dynamique. en statique j'ai réussi mais la je sais aps du tout

une idée ?
0
freto Messages postés 1542 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 8 avril 2016 161
12 mars 2008 à 16:18
boutonAModifier.caption=la_chaine_de_caractère_choisie.
Peut être veut tu savoir comment récupérer du treeview le choix de l'utilisateur??
0
re lol

oui ca c'est bon, j'ai réussi, charger mon treeview avec une BDD aussi

mais pour ce qui est du caption en fait ca me renvois le nom du choix sur tous les bouton générer dynamiquement ! c'est pas terrible ! vu que un bouton doit correspondre 1 choix
0
freto Messages postés 1542 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 8 avril 2016 161
12 mars 2008 à 16:43
Donne nous ta boucle de création de boutons, histoire d'y voir plus clair.;)
0
je sais aps si ca va etre tres clair :

Dim k As Integer
Dim deport As Integer
Dim inter As Integer
deport = 12
inter = 0
k = 3

While k <> 5
k = k + 1
Set Bouton = AutoBe.Controls.Add("Forms.CommandButton.1", "Bouton & k", True)
With Bouton
.Caption = AutoBe.nom_bouton
.Left = (inter * (k - 1)) + deport
.Top = 12

End With
Wend

Auto.Add Bouton, k


là du coup mes boutons ont tous le même caption.
je pensais passer par un id caché appelé : bouton_cliqué qui récupère le numero du bouton cliqué
et le comparer avec la liste des id bouton de la collection faite dans mes module de classe mais ca marche pas = du moins j'y arrive pas !

un peu plus clair mon histoire ?
0
bonjour,

Quelque chose ne va pas dans ta boucle

.Left = (inter * (k - 1)) + deport
Tu as fixé inter=0 ce qui fait (inter * (k - 1)) = 0 et donc tes boutons sont tous superposés aux coordonnées
.Letf=12
.Top=12

.Caption = AutoBe.nom_bouton
si tu veux que le Caption change à chaque bouton, if faut que AutoBe.nom_bouton change aussi chaque fois que tu crée un bouton. Je ne vois pas d'ou tu tire AutoBe.nom_bouton.

A+
0
c'est vrai qu'en copier /coller j'ai aps fait attention au inter = 0 mais c'etait un essais je te rassure lol

justement je ne sais pas comment faire pour que AutoBe.nom_bouton change

en fait mon AutoBe.nom_bouton correspond à un champs qui récupère le nom d'un choix d'un treeview et qui correspond au nom que doit porter le bouton sur lequel j'ai cliqué pour faire ce choix
0

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

Posez votre question
OK,

Alors tu ne peux pas créer tes boutons dans une boucle.
Tu selectionnes d'abord l'element de la treewiew qui donne le nom du bouton et tu crée le bouton ensuite.
Il faudra répéter cette opération autant de fois que de boutons voulus.

Tu écrits une procédure qui fait un seul bouton et tu lui passe en paramètre sa postion ou son indice si tu la calcules,
son Caption, etc...

Par contre si tu peut faire une selection multiple, alors tu peut faire une boucle : pour chaque element selectionné créer un bouton.

A+.
0
une nouvellle journée commence !!

je vais essayer de faire comme tu m'as dit je te tiens au courant si j'ai un soucis !

je te remercie @+
0
niny > niny
13 mars 2008 à 11:52
bon j'ai trouvé !!!

en fait fallait que dans mon module de classe je mette une caractéristique en plus de mon bouton

c'est à dire

With mBouton
.Caption = AutoBe.nom_bouton.Caption
End With

du coup quand je clique sur n'importe quel bouton créé dynamiquement ca me renvois bien à mon treeview sur lequel je fais mon choix et avec ces quelques lignes je renvois le nom du choix équivalent au nom_bouton sur le bouton souhaité !!!

peut etre que ca servira à d'autres personnes que moi !

merci à tous !!
0
freto Messages postés 1542 Date d'inscription vendredi 6 juillet 2007 Statut Membre Dernière intervention 8 avril 2016 161
13 mars 2008 à 14:17
De rien, et merci a toi aussi de mettre ta réponse ici, c'est pas tout le monde qui le fait (j'en ai vu beaucoup qui revenaient juste pour dire "J'ai trouvé", sans mettre la réponse, et du coup sa ne sert à rien)
Bonne journée a toi!

*partit de dessous ta main du coup*
0
pas forcément si tu peux voir pi etre mon autre pb (pb listview) peut etre que tu ne partiras pas de dessous ma main

lol

@+

normal pour laissé la réponse !
0