FAQ Excel
FAQ ExcelConsultez toutes les FAQ
Nombre d'auteurs : 46, nombre de questions : 845, dernière mise à jour : 30 mars 2022
- 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
Sub
Sub
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
Sub
Cet 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
Sub
Range
(
"A1"
).Comment.Shape.TextFrame.AutoSize
=
True
With
Range
(
"A1"
)
.AddComment
.Comment.Shape.Fill.UserPicture
"C:\dossier\NomImage.jpg"
End
With
Remarque :
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
Sub
Jusqu'à 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