Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Boucler sur les boutons de type formulaire

  • Initiateur de la discussion Initiateur de la discussion MJ13
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

MJ13

XLDnaute Barbatruc
Bonjour à tous

Je cherche à boucler sur des boutons de type formulaire sur une feuille qui s'appellle button et qui ont des macros en lien.

J'ai bien ce code pour un bouton:

Code:
ActiveSheet.Shapes("Button 8").Select
    Selection.OnAction = "macro1"

Je cherche un code du type pour boucler sur tous les boutons:

Code:
for each ...
 Macro.....
next

Merci d'avance 🙂.
 
Re : Boucler sur les boutons de type formulaire

Bonjour Michel,

un essai

Code:
Sub BoucleBouton()
Dim Sh As Shape
    For Each Sh In ActiveSheet.Shapes
        If Sh.Type = msoFormControl Then
            If Sh.FormControlType = xlButtonControl Then
                MsgBox Sh.Name & " : " & Sh.OnAction
            End If
        End If
    Next Sh
End Sub
 
Re : Boucler sur les boutons de type formulaire

Re,

petite question au passage, pourquoi ne pas utiliser des contrôles activex.... plus facile de les manipuler, enfin c'est juste mon avis....

bon après midi
@+
 
Re : Boucler sur les boutons de type formulaire

Bonjour Tototiti, Pierrot

Tototiti: Cela fonctionne très bien, merci beaucoup 🙂.

Ce qui donnerait pour mon problème de lien que je perds 😱:

Code:
Sub BoucleBouton_Ref_Classeur()
'Totititi
Dim Sh As shape
    For Each Sh In ActiveSheet.Shapes
        If Sh.Type = msoFormControl Then
            If Sh.FormControlType = xlButtonControl Then
                'MsgBox Sh.Name & " : " & Sh.OnAction
                'MsgBox Sh.OnAction
                'Cells(10, 11) = Sh.OnAction
                'MsgBox Len(Sh.OnAction)
               'Sh.OnAction = "test"
                For i = 1 To Len(Sh.OnAction)
               If Mid(Sh.OnAction, i, 1) = "!" Then GoTo suite
               Next
suite:
    'Stop
    NOMacro = Mid(Sh.OnAction, i + 1, Len(Sh.OnAction) - i)
    Sh.OnAction = NOMacro
                'Stop
            End If
        End If
    Next Sh
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
454
  • Question Question
Microsoft 365 affichage userform
Réponses
4
Affichages
523
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…