Quel bouton utilise une procédure donnée

Résolu
ClefDeDouzeEtDemi Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   -
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. cs_Le Pivert Messages postés 8437 Statut Contributeur 730
     
    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
  2. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    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
  3. JCB40 Messages postés 3058 Date d'inscription   Statut Membre Dernière intervention   479
     
    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
  4. ClefDeDouzeEtDemi Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
     
    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. Yoyo01000 Messages postés 1720 Date d'inscription   Statut Membre Dernière intervention   168
       
      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. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
       
      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
      1. cs_Le Pivert Messages postés 8437 Statut Contributeur 730 > Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention  
         
        tout à 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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. ClefDeDouzeEtDemi Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
     
    Bonjour

    Merci!! Oui, Merci à tous j'ai enfin ma réponse. Et entre temps j'ai trouvé ça : https://answers.microsoft.com/en-us/msoffice/forum/msoffice_excel-mso_other-mso_2007/how-to-find-all-buttons-in-workbook/aac01396-4261-e011-8dfc-68b599b31bf5

    Je vais essayé de mixer les deux.... Je suis sûr que quelqu'un sur terre a déjà pondu ça mais bon, je trouve pas.

    MERCI!!!
    0
  7. Patrice33740 Messages postés 8400 Date d'inscription   Statut Membre Dernière intervention   1 784
     
    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