Private test As Boolean 'déclare la variable test
Private Sub Worksheet_Change(ByVal Target As Range) 'au changement dans l'onglet
If Target.Address <> "$B$3" Then Exit Sub 'si le changement a lieu ailleurs qu'en B3, sort de la procédure
If test = True Then test = False: Exit Sub 'si test est vrai, test devient faux, sort de la procédure
test = True 'définit la variable test (vrai)
'redéfinit la cellule B3 (recherche la valeur de B3 dans la colonne 1 de l'onglet "DATA" et lui donne la valeur de la cellule de la colonne B)
Target.Value = Sheets("DATA").Columns(1).Find(Target.Value, , xlValues, xlWhole).Offset(0, 1).Value
End Sub