Afficher/faire disparaitre une page avec un bouton ActiveX

Bonjour,

étant amené à toucher un peu à vba pour un projet j'aimerais faire apparaître une page à l'aide d'un bouton , en cas de 2 eme clique sur le bouton j'aimerais que la page disparaisse. Voici le code que j'utilise sur mon bouton activeX :

Private Sub CommandButton2_Click()
If CommandButton2.Value = True Then
CommandButton2.BackColor = vbGreen
Sheets("Canon").Visible = True
ElseIf CommandButton2.Value = False Then
CommandButton2.BackColor = &H8000000F
Sheets("Canon").Visible = False
End If
End Sub

J'arrive à effectuer seulement l'action demandé par le CommandButton2.Value = False, si je fait un second clique rien ne se passe et si j'inverse les valeurs de CommandButton2.Value c'est alors alors action qui s'effectue. J'avoue que même après des recherches je suis un peu bloqué du fait de mon faible niveau sur vba^^'.

Bonjour,

Je pense que ce sera beaucoup mieux comme ça. En effet mieux vaut tester sur la valeur de la propriété visible de la feuille et non celle du bouton (dont je ne suis même pas certain qu'il ai une propriété true/false) :

Private Sub CommandButton2_Click()
If Sheets("Canon").Visible = False Then
    CommandButton2.BackColor = vbGreen
    Sheets("Canon").Visible = True
    ElseIf Sheets("Canon").Visible = True Then
    CommandButton2.BackColor = &H8000000F
    Sheets("Canon").Visible = False
End If
End Sub

Cdlt,

Bonjour ben63,, le forum,

Re Ergotamine

Une alternative avec un ToggleButton (bouton à bascule)....

Private Sub ToggleButton1_Click()
 With ToggleButton1
  .Caption = IIf(ToggleButton1 = True, "Masquer feuille Canon", "Afficher feuille Canon")
  .BackColor = IIf(ToggleButton1 = True, vbRed, vbGreen)
   With Sheets("Canon"): .Visible = IIf(ToggleButton1 = True, True, False): End With
 End With
End Sub

Cordialement,

Merci bien Ergotamine c'est top, merci aussi à toi xorsankukai pour votre aide ^^.

Tout marche

Cordialement

Rechercher des sujets similaires à "afficher disparaitre page bouton activex"