Un seul code pour plusieurs commandbutton

Bonjour,

Tout d'abord je remercie ceux qui m'aideront à régler ce petit problème. Je suis pas totalement novice en vba mais presque, disons que je fais avec mes vieilles connaissances !

Je vous ai mis en pièce jointe un fichier exemple de mon problème.

Je souhaiterais utiliser le même code pour tous les commandbutton de mon userform. Dans l'exemple j'en ai mis 4 mais en réalité j'aurais le même code pour une cinquantaine de bouttons....

Je suppose qu'il est possible de faire ça directement dans un module plutôt que dans le code comme je l'ai fait...

Merci pour votre aide.

Delphine

44classeur1.xlsm (17.64 Ko)

Bonjour,

Sub Command(n As Integer)
    With Controls("CommandButton" & n)
        Select Case .Caption
            Case "Feuilleté": .Caption = "Melon"
            Case "Melon": .Caption = ""
            Case "": .Caption = "Feuilleté"
            Case Else: .Caption = ""
        End Select
    End With
End Sub

Private Sub CommandButton1_Click()
    Command 1
End Sub

Private Sub CommandButton2_Click()
    Command 2
End Sub

Private Sub CommandButton3_Click()
    Command 3
End Sub

Private Sub CommandButton4_Click()
    Command 4
End Sub

NB- Indente ton code tes conditions sont illisibles sans indentation ! Et révise l'utilisation de l'instruction conditionnelle ; If... Then... [ElseIf..] [Else...], elle ne m'a pas parue totalement maîtrisée.

Cordialement.

Merci le code marche très bien, merci aussi pour les conseils !

petite question: Est-il possible de synthétiser tous les CommandButtonX_Click ou suis-je obligé de tous les énumérer ?

Delphine

Cela reste pour l'instant le plus économique...

Bonsoir,

Comme dit, c'est la solution la plus simple. On peut synthétiser tous les CommandButtonX_Click avec un module de classe mais c'est une solution plus compliquée.

Ci-dessous pour mémo, exemple avec utilisation du code donné par MFerrand.

107classeur2.xlsm (26.18 Ko)

Bonjour,

De retour ! Merci pour vos solutions je vais me plonger un peu dans le module de classe et essayer de comprendre mais en effet un peu compliqué...

bonne journée

Delphine

Bonjour,

Je viens vers vous car ce code serait parfait pour moi à une chose près. C'est que je ne travaille pas dans un UserForm mais dans un Worksheet.

Est - il possible d'adapter ce programme dans un Worksheet ?

Cordialement,

Bonjour,

Sûrement. Je regarde et reviens vers vous.

sur un autre topic, j'ai trouvé ce code qui m'a l'air de bien marché.

Bonsoir,

ci-joint code adapté à une feuille, avec exemple sur Feuil1.

Une des différences avec le UserForm est que la variable associée à la classe ne peut pas être déclarée publique.

72classeur3.xlsm (29.65 Ko)
Rechercher des sujets similaires à "seul code commandbutton"