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

tcyrill2 Messages postés 20 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 26 octobre 2009 - 24 avril 2008 à 17:03
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Derniè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,

2 réponses

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

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

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

    End If

End Sub

Vala

A+
0
PCPT Messages postés 13280 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 49
25 avril 2008 à 09:59
<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
0