Private test As Boolean 'déclare la variable test
Private Sub Worksheet_Change(ByVal Target As Range)
'Deux prénom avec & entre les deux
Dim R As Range, t As String
If test = True Then Exit Sub
If Not Intersect(Target, [D:D], Me.UsedRange) Is Nothing Then 'colonne D
test = True
For Each cel In Target 'en cas d'entrées multiples
cel.Value = Application.Trim(Replace(cel.Text, "&", "")) 'SUPPRESPACE
cel.Value = Application.Proper(Replace(cel.Value, " ", " & ")) 'Nom en Nom Propre
Next
test = False
End If
If Not Application.Intersect(Target, Range("F3:F200")) Is Nothing Then 'si le changement a lieu ailleurs que dans la plage F3:F200
test = True 'définit la variable test
Target.Value = Application.WorksheetFunction.Proper(Target.Value) 'première lettre de chaque mot en majuscule
test = False 'redéfinit la variable test
End If
End Sub