apparition/disparition boutons macro

SARdynamite

XLDnaute Junior
Bonjour,

Ya-t-il moyen, à la manière d'une mise en forme conditionnelle, de faire ou disparaitre des boutons macro ?

Exemple A1=0 alors pas de bouton. En revanche, si A1=1 alors le bouton servant à la macro apparait.

Je vous remercie d'avance. Bon dimanche.
 

tototiti2008

XLDnaute Barbatruc
Re : apparition/disparition boutons macro

Bonjour SARdynamite,

en utilisant une procédure évènementielle Change dans la feuille contenant A1 et en modifiant la propriété Visible du bouton en fonction de la valeur de A1.

Si A1 est le résultat d'une formule, il faudra le faire sur Calculate plutôt que sur Change

Pour la version "appliquée", poste un bout de fichier exemple
 

Robert

XLDnaute Barbatruc
Repose en paix
Re : apparition/disparition boutons macro

Bonjour SARdynamite, bonjour le forum,

Tu pourrais utiliser la macro événementielle Change à placer dans le composant VBA de l'onglet dans lequel on veut qu'elle séxécute (Feuil1(Feuil1) par exemple) :

Si ton bouton est issu de la barre d'outils Boîte à outils Contrôle, cela donnerait :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub 'si le changement a lieu ailleurs qu'en A1, sort de la procédure
'si la valeur de A1 est 1, affiche le CommandButton1 (à adapter à ton cas)
If Target.Value = 1 Then Me.CommandButton1.Visible = True
'si la valeur de A1 est 0, masque le CommandButton1 (à adapter à ton cas)
If Target.Value = 0 Then Me.CommandButton1.Visible = False
End Sub

Si ton bouton est issu de la barre d'outils Formulaires, cela donnerait :
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address <> "$A$1" Then Exit Sub 'si le changement a lieu ailleurs qu'en A1, sort de la procédure
'si la valeur de A1 est 1, affiche le Bouton "Button 2" (à adapter à ton cas)
If Target.Value = 1 Then Me.Shapes("Button 2").Visible = True
'si la valeur de A1 est 0, masque le Bouton "Button 2" (à adapter à ton cas)
If Target.Value = 0 Then Me.Shapes("Button 2").Visible = False
End Sub
En pièce jointe un exemple avec les deux types de boutons...

[Édition]

Bonjour Tototiti on s'est croisé...
 

Pièces jointes

  • SARdynamite_v01.xls
    37.5 KB · Affichages: 128

Discussions similaires