Re
Je ferais comme ça
Inutile de boucler, il suffit de vérifier ce qu'il se passe en colonne 3
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 3 Then Exit Sub
If Target = "OUI" And Target.Offset(0, 1) = "" Then
MsgBox "En quelle année ?", vbOKOnly + vbQuestion, "Précision"
'If msgpr = vbOK Then Exit Sub
'inutile de vérifier la réponse, il n'y a qu'un seul bouton
Target.Offset(0, 1).Select
End If
End Sub
Cordialement