FAQ Excel

FAQ ExcelConsultez toutes les FAQ
Nombre d'auteurs : 46, nombre de questions : 845, dernière mise à jour : 30 mars 2022
Sommaire→Les cellules→Les commentaires- Comment créer un commentaire par macro ?
- Comment vérifier s'il y a un commentaire dans une cellule ?
- Comment identifier les cellules qui contiennent des commentaires ?
- Comment copier un commentaire dans une autre cellule ?
- Comment adapter la taille d'un commentaire en fonction du texte qu'il contient ?
- Comment insérer une image dans un commentaire ?
- Comment lister le contenu des commentaires dans un document Word ?
- Comment imprimer les commentaires tels que sur la feuille de calcul ?
- Comment supprimer rapidement tous les commentaires d'un classeur, sous Excel 2007 ?
L'exemple suivant insère un commentaire dans la cellule A1.
Sub AjoutCommentaire()
Range("A1").AddComment
Range("A1").Comment.Text Text:="Le Forum Excel" & Chr(10) _
& "sur le site Developpez.com"
With Range("A1").Comment.Shape
.Width = 130 'Largeur commentaire
.Height = 90 'Hauteur
.OLEFormat.Object.Font.Size = 14 'Taille du texte
.OLEFormat.Object.Interior.ColorIndex = 34 'Couleur de fond
.TextFrame.Characters.Font.ColorIndex = 11 'Couleur de la police
.TextFrame.Characters.Font.Bold = True 'Ecriture gras
.OLEFormat.Object.Font.Name = "Bangle" 'Type de police
End With
End SubSub ControleExistenceCommentaire()
If Range("A1").Comment Is Nothing Then
MsgBox "Il n'y a pas de commentaire dans la cellule A1."
Else
MsgBox "Il y a un commentaire dans la cellule A1."
End If
End Sub
Par défaut, un triangle rouge apparait dans l'angle supérieur droit de la cellule si elle contient un commentaire.
Vous pouvez ainsi les identifier facilement.
Vous pouvez aussi faire apparaitre tous les commentaires dans la feuille en utilisant le menu Affichage/Commentaires.
La macro suivante permet de récupérer l'adresse des cellules contenant des commentaires.
Sub listeCommentairesfeuilleActive()
Dim Cmnt As Comment
Dim Liste As String
'Compte le nombre de commentaires dans la feuille
If ActiveSheet.Comments.Count = 0 Then Exit Sub
'Boucle sur les commentaires
For Each Cmnt In ActiveSheet.Comments
'Récupère l'adresse de la cellule et le contenu
Liste = Liste & Cmnt.Parent.Address & " = " & _
Cmnt.Text & Chr(10) & Chr(10)
Next Cmnt
MsgBox Liste
End SubCet autre exemple boucle sur les commentaires de la feuille active et colore en rouge les chaînes de caractères égales à "DVP".
Sub modificationCommentaires()
Dim Cmnt As Comment
Dim Cible As String
Dim i As Integer, Valeur As Integer
If ActiveSheet.Comments.Count = 0 Then Exit Sub
For Each Cmnt In ActiveSheet.Comments
Cible = Cmnt.Text
For i = 1 To Len(Cible)
Valeur = InStr(i, Cible, "DVP", vbTextCompare)
If Valeur = 0 Then
Exit For
Else
Cmnt.Shape.TextFrame.Characters(Valeur, 3).Font.ColorIndex = 3
i = Valeur + 4
End If
Next i
Next Cmnt
End Sub
Vous pouvez utiliser l'option "Commentaire" du collage spécial :
Menu Edition/Collage spécial/Option Commentaires, après avoir copié la cellule contenant le commentaire.
L'argument xlPasteComments permet d'effectuer la même action par macro :
Sub collageCommentaire()
'Copie le contenu de la cellule A1
Range("A1").Copy
'Colle le commentaire dans la cellule A2
Range("A2").PasteSpecial Paste:=xlPasteComments
End SubRange("A1").Comment.Shape.TextFrame.AutoSize = TrueWith Range("A1")
.AddComment
.Comment.Shape.Fill.UserPicture "C:\dossier\NomImage.jpg"
End WithRemarque :
Les images insérées risquent d'augmenter sensiblement la taille de vos classeurs.
Sub CopieContenuCommentaires_Word()
Dim Cmt As Comment
Dim WordApp As Object
'Ouvre une session Word
Set WordApp = CreateObject("Word.Application")
With WordApp
.Visible = True
'Ajoute un nouveau document dans Word
.Documents.Add
'Boucle sur les commentaires de la Feuil1
For Each Cmt In Worksheets("Feuil1").Comments
.Selection.TypeText "Cellule: " & Cmt.Parent.Address & vbCrLf & Cmt.Text
.Selection.TypeParagraph
.Selection.InsertBreak Type:=6 '(wdLineBreak) insert un saut de ligne
Next
End With
Set WordApp = Nothing
End SubJusqu'à Excel 2003 :
Menu Fichier
Mise en en page
onglet Feuille
Sélectionnez "Tel que sur la feuille" dans le champ "Commentaires"
Cliquez sur le bouton OK pour valider.
Excel 2007 :
Sélectionnez l'onglet "Mise en page" dans le ruban.
Cliquez sur le petit icône, dans l'angle inférieur droit du groupe "Options de la feuille de calcul".
A partir de là, la boîte de dialogue est identique aux versions antérieures d'Excel.
Sélectionnez "Tel que sur la feuille" dans le champ "Commentaires".
Cliquez sur le bouton OK pour valider.
Vous pouvez profiter des nouvelles fonctionnalités de l'application qui permettent de supprimer les données confidentielles avant de partager un classeur. Il est ainsi supprimer tous les commentaires en une seule fois.
Cliquez sur le bouton Office.
Sélectionnez le menu 'Préparer'.
Choisissez le bouton 'Inspecter le document'.
Assurez vous que l'option 'Commentaires et annotations' est cochée.
Cliquez sur le bouton 'Inspecter', puis sur le bouton 'Supprimer tout'.
Par VBA :
Dim Wb As Workbook
Set Wb = ThisWorkbook
Wb.RemoveDocumentInformation xlRDIComments


