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. 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. 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 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