Dépendance de boutons VBA (détection du clic)

Bonjour à tous,

Complète néophyte sur les macros VBA, j'aurais besoin d'un petit coup de pouce pour concevoir un code me permettant de rendre l'action d'un bouton de commande (Contrôle ActiveX) dépendant du fait qu'un autre bouton de commande soit ou non cliqué.

Plus concrètement, je dispose d'un premier bouton de commande (B1) en charge d'afficher/masquer les colonnes A:B et D:E. Je souhaite rendre l'affichage/masquage de D:E par B1 dépendant du clic/non clic d'un second bouton de commande (B2).

Si B2 est cliqué, alors le clic sur B1 doit déclencher l'affichage de l'ensemble des plages (A:B et D:E). Sinon (B2 non cliqué), B1 n'affiche que la plage A:B.

Je n'ai pas de souci sur la partie du code afficher/masquer, mais je ne parviens à créer une condition sur mon bouton B1.

Merci beaucoup par avance pour votre aide !

Bonjour Rinou05 et

Une petite présentation ICI serait la bienvenue

Sinon, merci de lire la charte du forum [A LIRE AVANT DE POSTER] et notamment :
Joignez (si possible) un fichier pour augmenter vos chances d'obtenir de l'aide en cliquant sur le bouton Fichier de l'éditeur.

Sans cela, il nous sera difficile de répondre

@+

Bonjour à tous,

Je souhaite rendre l'affichage/masquage de D:E par B1 dépendant du clic/non clic d'un second bouton de commande (B2)

j'imagine bien le changer en un bouton à bascule (mettre jour son caption selon son état que ce soit clair pour l'utilisateur).
Ensuite tu as juste à tester son état enfoncé ou pas.
eric

PS : Tu pourrais même en mettre un seul et activer sa propriété TripleState, et tu tournerais sur les 3 cas : tout affiché, masquage D:E, masquage 4 colonnes

Bonjour,

L'autre solution c'est de vérifier la valeur d'une cellule.

Exemple :

Si Range("A2").Value = "OUI" alors ....
Si Range("A2").Value = "NON" alors...

Mais le bouton de bascule reste plus efficace.

Bonne journée.

Merci beaucoup pour vos réponses ! J'ai en effet réussi à l'aide d'un bouton à bascule renvoyant la référence Oui/Non sur laquelle j'ai pu paramétrer l'action du premier bouton (afficher/masquer).

Merci encore pour votre aide :)

Bonjour,

tu n'as pas besoin de mettre oui/non dans une cellule.
Tester l'état du bouton suffit :

Private Sub CommandButton1_Click()
    If ToggleButton1.Value Then
        MsgBox "btn enfoncé,masquer A:B, D:E"
    Else
        MsgBox "btn sorti, masquer A:B"
    End If
End Sub

eric

Super, merci beaucoup !

Rechercher des sujets similaires à "dependance boutons vba detection clic"