XL 2019 Afficher ou masquer commandbutton avec condition

Anthony_51

XLDnaute Nouveau
Bonjour à tous,

J'ai créé le fichier qui est joint pour que les demandes d'acompte de ma société soient dématérialisées.
Ce que je souhaite étant que si G37 = "Oui" alors apparaisse le bouton et que son click lance la macro d'envoi par mail et mise à jour d'un fichier récap.

La macro pour l'envoi et la mise à jour est faite et fonctionne correctement, ce qui me pose problème c'est l'apparition ou la disparition du bouton commande.
Car si G37 passe de Oui à Non le bouton reste disponible sauf à double cliquer sur une cellule et ça je n'arrive pas à le gérer.
Comment faire pour QUE cela se fasse en automatique ????
Merci de votre aide

VB:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Range("G37") = "Oui" Then
    CommandButton1.Visible = True
    Else
    CommandButton1.Visible = False
    End If
End Sub
 

Pièces jointes

  • Demande d'acompte.xls
    123 KB · Affichages: 3

bof

XLDnaute Occasionnel
bonjour,
Il n'est pas possible pour faire fonctionner une macro Worksheet_Change de se baser sur une cellule contenant une formule. Ce type de macro ne réagit que si la cellule est modifié directement par l'utiliseateur.
En conséquence inutile de te référer à G37 : Tu doit examiner les conditione de validité avec VBA.
Utilise cette macro équivalente :

VB:
DefBool Y
Private Sub Worksheet_Change(ByVal Target As Range)
   Dim Y1, Y2
   Y1 = [C24] = "" And [G34] = 1 And [G35] = 2
   Y2 = [C24] = "" And [G34] = 1 And [G35] = 1 And [G36] = 1
   CommandButton1.Visible = Y1 Or Y2
End Sub
 

bof

XLDnaute Occasionnel
C'est l'inconvénient de ces "Userform au rabais" : C'est du pareil au mêmes aucun évènement n'est géré par ces cases d'option ni par le changement de valeur de ces cellules. Au lieu de Gérer G34, G35... Supprimes tes cases d'options et remplaces les par des ActiveX et gère leur état.
cf fichier joint
 

Pièces jointes

  • Demande d'acompte VG.xlsm
    78.3 KB · Affichages: 2

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 176
Messages
2 085 967
Membres
103 069
dernier inscrit
jujulop