Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim rng As Range
Dim ws As Worksheet
Dim uf As New UserForm1
' Définir la plage à surveiller
Set ws = ThisWorkbook.Sheets("Synthesis")
Set rng = Union(ws.Range("D25:D35"), ws.Range("I25:I35"), ws.Range("N25:N35"))
' Vérifier si la cellule double-cliquée est dans la plage spécifiée
If Not Intersect(Target, rng) Is Nothing Then
Cancel = True ' Annuler le double-clic pour éviter l'édition directe de la cellule
' Afficher le UserForm
uf.Show
' Mettre à jour la cellule avec le nouveau commentaire
Dim newComment As Variant
Dim existingComments As Variant
' Construire le nouveau commentaire avec la date, prénom et nom de l'utilisateur
newComment = Format(Now(), "dd/mm/yyyy") & " - " & Left(Application.UserName, 1) & Mid(Application.UserName, InStr(Application.UserName, " ") + 1, 2) & " - " & uf.TextBox1.Text
' Récupérer les commentaires existants de la cellule
existingComments = Target.Value
' Mettre à jour les commentaires dans la cellule
Target.Value = newComment
' Mettre à jour les commentaires dans le UserForm
uf.TextBox2.Text = existingComments & vbCrLf & newComment
End If
End Sub