Une macro sur unr liste déroulante, et uniquement sur la liste déroulante ??
tcyrill2
Messages postés20Date d'inscriptiondimanche 1 avril 2007StatutMembreDernière intervention26 octobre 2009
-
24 avril 2008 à 17:03
PCPT
Messages postés13278Date d'inscriptionlundi 13 décembre 2004StatutMembreDernière intervention 3 février 2018
-
25 avril 2008 à 09:59
Bonjour,
Alors, tout d'abord, je ne saivais où classer cette demande (thème) ... j'espère ne pas me faire ban pour cette erreur, si erreur il y a ^^
J'ai trouvé un code ici même (code qu'il m'est impossible de retrouver) auquel j'aurais voulu donné suite car pas complètement adapté à mes besoins :x
J'ai un fichier excel (2000) dans lequel se trouvent 2 listes déroulantes (cellules C51 et C52). Je voudrais activer une macro à la saisie d'un choix sur la liste en C52.
J'ai donc trouvé le code suivant (qui fonctionne bien ...)
Private Sub Worksheet_Change(ByVal Target As Range)
If [C52] = "CRITIQUE" Then MsgBox "Vous avez choisi 'CRITIQUE' !"
If [C52] = "MAJEUR" Then MsgBox "Vous avez choisi 'MAJEUR' !"
If [C52] = "MINEUR" Then MsgBox "Vous avez choisi 'MINEUR' !"
End Sub
... à un détail près.
Quand je modifie n'importe quelle cellule de ma feuille excel, la macro s'éxécute a nouveau, ce qui rend mon document pas tellement pratique et même agaçant pour les utilisateurs de devoir répondre OK aux "msgbox" a chaque fois qu'ils modifient une cellule !?
Par avance, merci
Cordialement,
A voir également:
Une macro sur unr liste déroulante, et uniquement sur la liste déroulante ??
bigfish_le vrai
Messages postés1835Date d'inscriptionvendredi 13 mai 2005StatutMembreDernière intervention20 novembre 201314 24 avril 2008 à 17:42
Salut,
pour repondre directement a ta question
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.address = "$C$52" then
Select case Target.Value
Case "CRITIQUE"
MsgBox "Vous avez choisi 'CRITIQUE' !"
Case "MAJEUR"
MsgBox "Vous avez choisi 'MAJEUR' !"
Case "MINEUR"
MsgBox "Vous avez choisi 'MINEUR' !"
End Select
End If
End Sub
mais y a plus simple
Private Sub Worksheet_Change(ByVal Target As Range)