Bonjour,
Testes ce code pour voir si il convient :
Sub Commentaire()
Dim PlageFe1 As Range
Dim PlageFe2 As Range
Dim CelFe1 As Range
Dim CelFe2 As Range
Dim Chaine As String
Dim Adr As String
Range("B4:AP53").ClearComments
With Worksheets("Liste MP AC"): Set PlageFe1 = .Range(.Cells(7, 2), .Cells(.Rows.Count, 2).End(xlUp)): End With
With Worksheets("PF COMMUNS"): Set PlageFe2 = .Range(.Cells(2, 2), .Cells(.Rows.Count, 2).End(xlUp)): End With
PlageFe1.ClearComments
For Each CelFe1 In PlageFe1
Set CelFe2 = PlageFe2.Find(CelFe1.Value, PlageFe2(PlageFe2.Count, 1), xlValues, xlWhole)
If Not CelFe2 Is Nothing Then
Adr = CelFe2.Address
Do
Chaine = Chaine & CelFe2.Offset(, 1).Value & vbCrLf
Set CelFe2 = PlageFe2.FindNext(CelFe2)
Loop While Adr <> CelFe2.Address
End If
Chaine = Left(Chaine, Len(Chaine) - 1)
With CelFe1
.AddComment
.Comment.Visible = False
.Comment.Text Chaine
.Comment.Shape.TextFrame.AutoSize = True
End With
Chaine = ""
Next CelFe1
End Sub