Bonjour Tom
Voici une possibilité
Private Sub Worksheet_Change(ByVal Target As Range)
Dim CelF
On Error Resume Next
If Not Application.Intersect(Target, Range("C:C")) Is Nothing Then
CelF = Application.WorksheetFunction.Match(Target.Value, Range("A2:A" & Range("A" & Rows.Count).End(xlUp).Row), 0)
If Not IsEmpty(CelF) Then
Call Affichage_UserForm
Else
Call Affichage_UserForm2
End If
Set CelF = Nothing
End If
On Error GoTo 0
End Sub
A+