voici un code qui répondra , je pense, mieux à tes besoins. A chaque changement dans une cellule, on ajoute un commentaire si un saut de ligne est rencontré, sinon efface le commentaire:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim i As Integer
Dim Lettre As Integer
'On teste toutes les lettes du texte de la cellule,
'lettre par lettre
For i = 1 To Len(Target.Value)
'On traduit la lettre en code Ascii
Lettre = Asc(Mid(Target.Value, i, 1))
'Un saut de ligne comporte deux code Ascii 10 et 13
'Donc dès qu'on rencontre un de ces codes, on ajoute le commentaire
If Lettre = 10 Or Lettre = 13 Then
If Target.Comment Is Nothing Then
'On ajoute un commentaire s'il n'existe pas
Target.AddComment Text:=Target.Value
Else
'On modifie le commentaire existant
Target.Comment.Text Text:=Target.Value
End If
'On quitte la procedure
Exit Sub
End If
Next i
'Si on n'a pas trouver de saut de ligne, on efface le commentaire si existant
Target.ClearComments
End Sub
ouvre l'éditeur VBA ( alt+F11 ), dans la fenêtre de gauche tu as les feuilles de ton classeur, clique avec le bouton de droit sur la feuille où tu veux que le code s'exécute et choisi "Code". Dans la fenêtre de droite, copie le code ci-dessus.