Quel bouton utilise une procédure donnée

Résolu
Bonjour à tous, et merci de lire ma question.
Voilà, je dois maintenir un vieux classeur Excel qui présente des dizaines de boutons (je suis sous Excel 2010) et encore plus de procédures et je n'arrive pas à trouver quel(s) bouton(s) utilisent une procédure donnée. Ca doit être tout bête mais là, je craque!!

Merci d'avance,

--
Pat

7 réponses

  1. Contributeur
    Bonjour,

    sélectionner Développeur dans le ruban

    Sélectionner mode Création

    Il suffit de double cliquer sur le bouton pour avoir la macro attachée à ce bouton

    Voilà
    1
    1. Bonjour,

      Ça dépend du type de bouton, pour accéder à la macro correspondante :
      - Si c'est un ActiveX, Onglet Développeur / activer le mode création / clic droit sur le bouton / visualiser le code.
      - Si c'est un bouton de formulaire (ou une forme)/ clic droit sur le bouton / affecter une macro / modifier
      - Si c'est une barre d'outils qui apparait dans l'onglet complément, il faut écrire une macro pour analyser cette barre d'outils. par exemple :
      Sub BarreOutils()
      Dim cdb As CommandBar
      Dim ctl As CommandBarControl
        For Each cdb In Application.CommandBars
          If Not cdb.BuiltIn Then
            Debug.Print cdb.name
            For Each ctl In cdb.Controls
              If ctl.Type = msoControlButton Then
                Debug.Print "- " & ctl.Caption & vbCrLf & "  " & ctl.OnAction
              End If
            Next ctl
          End If
        Next cdb
      End Sub


      1
      1. Bonjour,
        Un exemple de votre fichier avec explications serait le bienvenu.
        Pour transmettre un fichier,
        Veillez à ce qu'il n'y ait PAS DE DONNEES CONFIDENTIELLES
        il faut passer par un site de pièce jointe tel que cjoint.com

        Allez sur ce site : https://www.cjoint.com/
        Clic sur parcourir,
        Cherche ton fichier,
        clic sur ouvrir,
        Clic sur "Créer le lien cjoint",
        Copier le lien,
        Revenir ici le coller dans une réponse...
        Cordialement

        0
        1. Bonjour A tous et merci à chacun pour sa réponse.

          Malheureusement, je n'ai toujours pas de réponse à ma question.

          Mon problème n'est pas de retrouver la macro associée à un bouton mais de déterminer si une macro donnée est associée à un ou plusieurs boutons et si oui, lesquels?
          0
          1. Bonjour,

            pour cela, il faut le vérifier dans l'éditeur VBA en fouillant dans toutes les macros ayant été crées.

            Sinon, comme dit plus haut, il faudra partager votre fichier car là nous répondons plus ou moins à l'aveuglette !

            Au passage, salutations à Patrice et Le pivert
            0
          2. C'est un ou plusieurs boutons qui lancent une macro et pas l'inverse !
            C'est pas en fouillant dans le VBA que tu trouveras mais en explorant les boutons.
            En listant, pour chaque bouton, le nom de la macro qui lui est affecté, tu saura automatiquement à quel(s) bouton(s) une macro donnée est affectée ....
            0
          3. Contributeur
            @Patrice33740tout à fait Patrice(salut au passage)

            Si ceux sont des boutons de formulaire, tu peux faire cette boucle pour connaitre chaque action de bouton:

            Option Explicit
            Sub Bouclebouton_Formulaire()
             Dim Obj As Shape
             'Boucle sur les formes de la feuille active
                For Each Obj In ActiveSheet.Shapes
                   MsgBox Obj.Name
                    MsgBox Obj.OnAction
                Next Obj
            End Sub
            


            Voilà

            @+ Le Pivert
            0
        2. Re,

          Le post est en résolu, as-tu trouvé la solution ?

          Si ce n'est pas le cas, il faudrait préciser le contexte et le besoin.
          « un vieux classeur Excel qui présente des dizaines de boutons »
          C'est très vague.
          Où se situent les boutons, de quel type de boutons s'agit-t'il ?
          0