Bonjour,
Voici le code de la procédure événementielle "Change()" avec la récup du commentaire (oubli de ma part). J'ai commenté le code :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Plage As Range
Dim Cel As Range
Dim Com As Comment
Select Case Target.Column
Case 2, 4, 6, 8, 10, 12, 14, 16, 18, 20
Case Else: Exit Sub
End Select
With Worksheets("BD"): Set Plage = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp)): End With
Set Cel = Plage.Find(Target.Value, , xlValues, xlWhole)
If Not Cel Is Nothing Then
'gèle les événements
Application.EnableEvents = False
'copie de la cellule
Cel.Copy
'colle la mise en forme
Target.PasteSpecial xlPasteFormats
'vide le presse papier
Application.CutCopyMode = False
'applique les différentes fontes en appelant la procédure
Fonte Cel, Target
'récupère le commentaire
Set Com = Cel.Comment
'et si il en existe un, en ajoute un et inscrit le texte
If Not Com Is Nothing Then Target.AddComment (Com.Text)
End If
'rétabli le gestionnaire d'événements
Application.EnableEvents = True
End Sub
Maintenant, la procédure permet de récupérer le texte avec les différentes fontes, la mise en forme et le commentaire si il y a !