VBA faire disparaître les commandes macro sous condition
Résolu
Gilles.DR315
Messages postés
26
Date d'inscription
Statut
Membre
Dernière intervention
-
Gilles.DR315 Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
Gilles.DR315 Messages postés 26 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je vous explique mon problème.
En feuil1 à la cellule D20 j'ai le choix via liste déroulante : OUI / NON / ""
J'ai deux commandes macro qui renvoi chacune vers deux autres feuilles du classeur.
J'arrive à les faire permuter en affichage OUI / NON
Par :
Mais ce que je cherche c'est à les faire disparaître tout les deux quand la cellule D20 est vide. Range("D20") = ""
Ceci afin de forcer l'utilisateur à choisir. avant de continuer.
Si c'est pas possible techniquement à cause d'une cellule avec Liste
Alors faire disparaître les deux si Range("D15") = "" (D15 est en format monétaire)
Merci d'avance de votre aide.
Cdt
Je vous explique mon problème.
En feuil1 à la cellule D20 j'ai le choix via liste déroulante : OUI / NON / ""
J'ai deux commandes macro qui renvoi chacune vers deux autres feuilles du classeur.
J'arrive à les faire permuter en affichage OUI / NON
Par :
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("D20") = "NON" Then
ActiveSheet.Shapes("Pentagone 22").Visible = True
ActiveSheet.Shapes("Pentagone 20").Visible = False
Else
ActiveSheet.Shapes("Pentagone 22").Visible = False
ActiveSheet.Shapes("Pentagone 20").Visible = True
End If
If Range("D20") <> "NON" Then
ActiveSheet.Shapes("Pentagone 22").Visible = False
ActiveSheet.Shapes("Pentagone 20").Visible = True
Else
ActiveSheet.Shapes("Pentagone 22").Visible = True
ActiveSheet.Shapes("Pentagone 20").Visible = False
End If
End Sub
Mais ce que je cherche c'est à les faire disparaître tout les deux quand la cellule D20 est vide. Range("D20") = ""
Ceci afin de forcer l'utilisateur à choisir. avant de continuer.
Si c'est pas possible techniquement à cause d'une cellule avec Liste
Alors faire disparaître les deux si Range("D15") = "" (D15 est en format monétaire)
Merci d'avance de votre aide.
Cdt
A voir également:
- VBA faire disparaître les commandes macro sous condition
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Excel cellule couleur si condition texte - Guide
- Invite de commandes - Guide
- Commandes terminal mac - Guide
- Jitbit macro recorder - Télécharger - Confidentialité
2 réponses
Bonjour,
Private Sub Worksheet_Change(ByVal Target As Range)
If Range("D20") = "NON" Then
ActiveSheet.Shapes("Pentagone 22").Visible = True
ActiveSheet.Shapes("Pentagone 20").Visible = False
ElseIf Range("D20") = "OUI" Then
ActiveSheet.Shapes("Pentagone 22").Visible = False
ActiveSheet.Shapes("Pentagone 20").Visible = True
ElseIf Range("D20") = "" Then 'Autre
ActiveSheet.Shapes("Pentagone 22").Visible = False
ActiveSheet.Shapes("Pentagone 20").Visible = False
End If
End Sub
Bonjour,
Merci pour le ElseIf
Maintenant çà marche. Il fallait quelques parenthèses.
et le tour est joué
Cdt
Merci pour le ElseIf
Maintenant çà marche. Il fallait quelques parenthèses.
et le tour est joué
Cdt
If Range("D20") = "" Then
ActiveSheet.Shapes("Pentagone 22").Visible = False
ActiveSheet.Shapes("Pentagone 20").Visible = False
ElseIf (Range("D20") <> "NON" And Range("D15") <> "") Then
ActiveSheet.Shapes("Pentagone 22").Visible = False
ActiveSheet.Shapes("Pentagone 20").Visible = True
ElseIf (Range("D20") = "NON" And Range("D15") <> "") Then
ActiveSheet.Shapes("Pentagone 22").Visible = True
ActiveSheet.Shapes("Pentagone 20").Visible = False
End If
End Sub