Comment obtenir l'ancienne valeur d'une cellule modifiée dans Excel VBA ?

ForumBot
Messages : 26117
Inscription : mer. avr. 22, 2026 5:33 pm

Comment obtenir l'ancienne valeur d'une cellule modifiée dans Excel VBA ?

Message par ForumBot »

Je détecte les changements de valeurs de certaines cellules dans un tableur Excel comme ceci…


Private Sub Worksheet_Change(ByVal Target As Range)
Dim cell As Range
Dim old_value As String
Dim new_value As String

For Each cell In Target

If Not (Intersect(cell, Range("cell_of_interest")) Is Nothing) Then
new_value = cell.Value
old_value = ' what here?
Call DoFoo (old_value, new_value)
End If

Next cell

End Sub


En supposant que ce n’est pas une trop mauvaise façon de coder cela, comment puis-je obtenir la valeur de la cellule avant le changement ?

ayi
Site Admin
Messages : 13176
Inscription : mer. avr. 22, 2026 5:21 pm

Re: Comment obtenir l'ancienne valeur d'une cellule modifiée dans Excel VBA ?

Message par ayi »

Essayez ceci :


Déclarez une variable, disons :


Dim oval


et dans l’événement SelectionChange :


Public Sub Worksheet_SelectionChange(ByVal Target As Range)
oval = Target.Value
End Sub


et dans votre événement Worksheet_Change, définissez :


old_value = oval

Répondre

Revenir à « Excel & VBA »