Private Sub Worksheet_Change(ByVal Target As Range)
On Error GoTo ErrorHandler
Dim cell As Range
' Vérifier si la modification a eu lieu dans la plage I14:I87
If Not Intersect(Target, Range("I14:I87")) Is Nothing Then
' Parcourir chaque cellule dans la plage de la cible
For Each cell In Intersect(Target, Range("I14:I87"))
' Vérifier si la cellule correspondante dans la colonne D contient le signe "§"
If InStr(Range("D" & cell.Row).Value, "§") > 0 Then
' Si la cellule contient du texte et ne commence pas déjà par "§", ajouter le signe "§"
If cell.Value <> "" And Left(cell.Value, 1) <> "§" Then
cell.Value = "§" & cell.Value
End If
End If
Next cell
End If
Exit Sub
ErrorHandler:
MsgBox "Erreur " & Err.Number & " : " & Err.Description
End Sub