Une macro sur unr liste déroulante, et uniquement sur la liste déroulante ??

Signaler
Messages postés
20
Date d'inscription
dimanche 1 avril 2007
Statut
Membre
Dernière intervention
26 octobre 2009
-
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
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,

2 réponses

Messages postés
1835
Date d'inscription
vendredi 13 mai 2005
Statut
Membre
Dernière intervention
20 novembre 2013
10
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)

    If Target.address = "$C$52" then

                MsgBox "Vous avez choisi  " & Target.Value & " !"

    End If

End Sub

Vala

A+
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
46
<li>
Vous êtes ici : [infomsg.aspx Thèmes] / [infomsgf_VB-NET-VB-2005_40.aspx VB.NET et VB 2005] / [infomsgt_DIVERS_221.aspx Divers] / [infomsgt_TRUCS-ASTUCES_243.aspx Trucs & Astuces] / Une macro sur unr liste déroulante, et uniquement sur la liste déroulante ??</li>


déplacé vers VBA :)
(bonjour)
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp