'### Plages à adapter (celles-ci doivent être de même grandeur ###
'### et leur ligne de départ se situer sur la même ligne) ###
Const SOURCE As String = "ak3:bo18"
Const CIBLE As String = "b3:af18"
'#################################################################
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim R As Range
Dim C As Range
Dim IncrCol&
Set R = Application.Intersect(Application.Union(Range(SOURCE), _
Range(CIBLE)), Target)
If R Is Nothing Then Exit Sub
IncrCol& = Range(SOURCE).Column - Range(CIBLE).Column
Set R = Application.Intersect(Target, Range(CIBLE))
If Not R Is Nothing Then
For Each C In Range(CIBLE)
If Not C.Comment Is Nothing Then C.Comment.Delete
Next C
With Target
.AddComment
With .Comment
.Visible = False
.Text Text:="Libre à " & Target.Offset(0, IncrCol&)
.Shape.TextFrame.AutoSize = True
End With
End With
End If
End Sub