Private Sub CommandButton1_Click() 'bouton "Copie"
Dim pl As Range 'déclare la variable pl (PLage)
Dim cel As Range 'déclare la variable cel (CELlule)
Dim dest As Range 'déclare la variable dest (cellule de DESTination)
ActiveCell.Select 'enlève le focus au bouton
Set pl = Range("A1:A" & Cells(Application.Rows.Count, 1).End(xlUp).Row) 'definit la plage pl (cellules éditées de la colonne A)
For Each cel In pl 'boucle sur toutes les cellules cel de la plage pl
On Error Resume Next 'gestion des erreurs, si une erreur est générée passe à la ligne suivante
Debug.Print cel.Comment.Text 'écrit le commentaire dans la fenêtre d'exécution (VBE), génère une erreur si la cellule ne contient pas de commentaire
If Err > 0 Then Err = 0: GoTo suite 'su une errur est générée, supprime l'erreur, va à l''etiquette suite
With Sheets("Feuil1") 'prend en compte l'onglet Feuil1"
Set dest = IIf(.Range("A1") = "", .Range("A1"), .Cells(Application.Rows.Count, 1).End(xlUp).Offset(1, 0)) 'définit la cellule de destination
End With 'fin de la prise en compte de l'onglet "Feuil1"
Rows(cel.Row).Copy dest 'copy la ligne de cel dans dest
dest.ClearComments 'supprime le commentaire dans la cellule copiée
dest.Offset(0, 1).Value = Format(Date, "dd/mm/yyyy") 'place la date dans la colonne B de l'onglet "Feuil1" (à adapter...)
cel.ClearComments 'supprime le commentaire dans la cellule
suite: 'étiquette
Next cel 'prochaine cellule de la boucle
End Sub