Pb nom bouton

Résolu
niny -  
 niny -
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
Configuration: Windows XP
Internet Explorer 6.0

6 réponses

  1. amigo
     
    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
    1. niny
       
      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
  2. freto Messages postés 1543 Date d'inscription   Statut Membre Dernière intervention   165
     
    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
    1. niny
       
      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
  3. freto Messages postés 1543 Date d'inscription   Statut Membre Dernière intervention   165
     
    Donne nous ta boucle de création de boutons, histoire d'y voir plus clair.;)
    0
    1. niny
       
      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
  4. amigo
     
    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
    1. niny
       
      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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. amigo
     
    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
    1. niny
       
      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
      1. niny > niny
         
        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
  7. freto Messages postés 1543 Date d'inscription   Statut Membre Dernière intervention   165
     
    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
    1. niny
       
      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