VBA Utiliser un bouton suivant une variable

Résolu
Mygalys Messages postés 6 Statut Membre -  
Mygalys Messages postés 6 Statut Membre -
Bonjour,

Je souhaiterai pouvoir choisir un bouton en particulier en utilisant une variable contenant le nom de ce bouton.
Dans ma feuille excel, j'ai une multitude de boutons nommés de manière organisée suivant leur position.
Par l'intermédiaire d'une variable string, lui donnant la valeur que je souhaite (ex: une boucle qui lui donnerait un nom incrémenté à chaque fois) je voudrais utiliser le bouton nommé tel que le contenu de cette variable.

J'espère être clair. Sinon merci de me faire un retour de vos questions pour précision.

--
Myg

5 réponses

  1. trankill076 Messages postés 83 Statut Membre 22
     
    Je ne sait pas si on peux générer des variables avec des noms séquentiels par le code

    Tu peux m'en dire plus sur ce que font ces boutons
    Je cherche surtout à savoir s'ils ont un effet similaire
    0
  2. Mygalys Messages postés 6 Statut Membre
     
    Oui dans l'idée ils auront une partie de code similaire.
    Mais plus exactement ce n'est pas tant leur action qui m'interresse mais de pouvoir modifier le nom de ces boutons via une variable.

    Un exemple imagé:
    Ces boutons sont rangés on va dire sous forme de tableau; ce qui veut dire que leur position serait définie par leurs n° de ligne et de colonne. Et je voudrais les nommer de cette manière en fonction de leur position (par exemple "Bt_2_8" pour le bouton ligne 2 colonne 8). Bien sur je peux le faire à la main, seulement il y a une multitude de boutons et je sais qu'il existe une commande pour le faire grâce à un code. But je ne sais plus comment...
    0
  3. trankill076 Messages postés 83 Statut Membre 22
     
    On peux utiliser la fonction .Name pour changer le nom d'un bouton mais je ne voit pas comment changer tout les noms des boutons

    Par exemple CommandButton28.Name = "Bt_2_8" change le nom du bouton
    Mais comment faire pour changer tous leurs noms.. aucune idée :x
    Une signature? Pour quoi faire?
    0
  4. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
     
    Bonjour

    Cette macro crée les boutons et les nomment en fonction de leur position Btn_2_3: bouton sur la cellule C2

    Option Explicit
    
    Sub generer_nommer_boutons()
    Dim Btn As OLEObject
    Dim lig As Byte, col As Byte, lig_fin As Byte, col_fin As Byte
    Dim cptr_l As Byte, cptr_c As Byte, num As Byte
    Dim Target As Range
    
    'parametres
    lig = 2 'ligne de départ
    lig_fin = 4 'ligne fin
    col = 2 'colonne de départ
    col_fin = 5 'colonne fin
    num = 1
    For cptr_l = lig To lig_fin + 1
        For cptr_c = col To col_fin
              Set Target = ActiveSheet.Cells(cptr_l, cptr_c)
              Set Btn = ActiveSheet.OLEObjects.Add("Forms.CommandButton.1")
              With Btn
                   .Left = Target.Left
                   .Top = Target.Top
                   .Width = Target.Width - 2
                   .Height = Target.Height - 2
                   .Name = "Btn_" & cptr_l & "_" & cptr_c
                   .Object.Caption = "blabla " & num
              End With
              num = num + 1
          Next
    Next
    End Sub


    attention avec les OLEobject la macro plante en mode arrêt (pas à pas)

    demo:
    https://www.cjoint.com/?3FBrgGUCn0t
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. Mygalys Messages postés 6 Statut Membre
     
    Ca c'est ce que j'appelle une réponse !!! :D
    Merci à vous d'avoir cherché, effectivement c'était pas plus compliqué. J'dirai pas honte sur moi mais presque lol C'est que ca fait un moment que je n'avais pas repris la prog de macro.
    Au plaisir d'une autre question...
    0
    1. michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 320
       
      effectivement c'était pas plus compliqué

      ben voyons
      0
    2. Mygalys Messages postés 6 Statut Membre
       
      Oui enfin pour être exact, ça répond pas entièrement a mon pb mais j'm'arrangerai avec ça =)

      J'aurai préféré ne pas avoir à les créer et plutôt reprendre les boutons existants.
      Mais bon... ;o)
      0
    3. Mygalys Messages postés 6 Statut Membre
       
      J'avais qu'à m'y prendre tel que tu l'as montré au dessus dès le début, voila tout =)
      0
    4. Mygalys Messages postés 6 Statut Membre
       
      ben voyons

      lol j'avais pas vu ce commentaire...
      MDR
      Bah oui écoute, c'est une facon relativement simple, ca ne m'est pas venu du tout à l'esprit, c là le but aussi d'un forum !! Gt parti sur une autre approche, mais pas la meilleure. Donc merci à toi pour la réflexion plus logique à adopter.
      0