Bonjour,

Dans la macro ci-dessous lorsque l'utilisateur clique sur non dans la msgbox, la valeur de la cellule ne revient à la valeur OldValue.

Merci pour votre aide.

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim NewValue, OldValue
    Dim Cellule As Range
    If Target.Address <> "$C$16" Then Exit Sub
    Application.EnableEvents = False
    With Target
        NewValue = .Value
        Application.Undo
        OldValue = .Value
        .Value = NewValue
    End With
    MsgBox "Old Value: " & OldValue & vbCrLf & "New Value: " & NewValue
 
    If reponse = MsgBox("Penses-tu que ce soit vrai ?", vbYesNo + vbCritical) = vbYes Then
        MsgBox ("La valeur est changée")
            If reponse = vbNo Then
                Set Cellule = Range("C16")
                    Cellule.Value = OldValue
            End If
            Debug.Print OldValue
    End If
    Application.EnableEvents = True
End Sub