Sub verscomm()
'ne pas oublier l'indentation qui facilite la lecture du code.
' définir les variables
Dim X As String
Dim MaPlage1 As Range
Dim MaPlage2 As Range
' déterminer la/les plages où les actions seront possibles
Set MaPlage1 = Range("A1:G15,A22:G35")
Set MaPlage2 = Range("B11:B85,B33:H85")
' active le traitement dans la/les plages déterminées
If Not Intersect(Union(MaPlage1, MaPlage2), Selection) Is Nothing Then
' place le contenu de la cellule dans la variable X
X = ActiveCell.FormulaR1C1
ActiveCell.AddComment 'ajoute l'objet commentaire à la cellule
ActiveCell.Comment.Visible = False 'le commentaire sera masqué
ActiveCell.Comment.Text Text:=X 'place le contenu de X dans l'objet commentaire
ActiveCell.Value = "" ' ceci vide la cellule
' ActiveCell.Value = "" ' ceci ne vide pas la cellule car la ligne est en commentaire
End If
End Sub