Msgbox et validation ?

Résolu
Bonjour, j'ai une liste déroulante en cellule A1 et je voudrais que quand je choisis une valeur un msgbox s'affiche pour demander une validation. Du genre " Vous êtes sur de chosir" Oui ou Non et après lancer ma macro si oui.
Merci à vous.

http://ti1ca.com/ah8joa35-Classeur1-Classeur1.xls.html

8 réponses

  1. Salut,

    un bout de code pour lancer une macro si les valeurs changent dans la plage A1 à A10
    code à coller dans les propriétés de la feuille Clic droit sur l'onglet de la feuille concernée/Visualiser le code

    Private Sub Worksheet_Change(ByVal Target As Range)
    Dim x
    If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
    x = MsgBox("Vous êtes sur de chosir", vbCritical + vbYesNo + 256, "Attention")
    If x = vbYes Then

    MsgBox "exécution de la macro"

    End If
    End If
    End Sub
    1. Superbe, j'ai oublié juste une petite chose, quand je reviens sur ma liste déroulante et que je choisis la cellule vide je ne voudrais pas que le msgbox s'affiche, merci d'avance
      1. Re,

        Voila qui est servi

        Private Sub Worksheet_Change(ByVal Target As Range)
        Dim x
        If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
        If Target <> "" Then
        x = MsgBox("Vous êtes sur de chosir", vbCritical + vbYesNo + 256, "Attention")
        If x = vbYes Then

        MsgBox "exécution de la macro"
        End If
        End If
        End If
        End Sub
        1. Tu es un chef et rapide, merci beaucoup et bon week end :-)
          1. Re,

            Si tes attentes sont satisfaites, met le statut de la discussion en résolu
            bon week end à toi
            1. Ah mince désolé, encore un oubli, vraiment pas de tête ce soir, dans le msgbox j'aimerais bien que ce qu'il y a de sélectionner apparaisse dans la msgbox exemple :
              "Vous êtes sur de chosir A2"
              1. RE,

                Comme cela

                Private Sub Worksheet_Change(ByVal Target As Range)
                Dim x
                If Not Intersect(Target, Range("A1:A10")) Is Nothing Then
                If Target <> "" Then
                x = MsgBox("Vous êtes sur de chosir la cellule " & Target.Address(0, 0), vbCritical + vbYesNo + 256, "Attention")
                If x = vbYes Then

                MsgBox "exécution de la macro"
                End If
                End If
                End If
                End Sub