Obtenir une liste de tous les commentaires dans une feuille de calcul dans Excel

Si vous travaillez avec des feuilles de calcul Excel contenant de nombreux commentaires de cellule dans une feuille de calcul, ce didacticiel peut être utile. Parfois, vous pouvez insérer des commentaires dans les cellules pour mettre en évidence ou expliquer des données, ou votre patron peut insérer des commentaires dans les cellules tout en révisant votre travail.

Si vous disposez d'un énorme ensemble de données et que les commentaires sont dispersés sur toute la feuille de calcul, il peut être utile d'avoir tous les commentaires au même endroit sous forme de liste.

Obtenir une liste de tous les commentaires dans une feuille de calcul

Dans ce didacticiel, je vais vous montrer comment utiliser un code VBA pour obtenir une liste de tous les commentaires d'une feuille de calcul dans une feuille de calcul distincte.

Quelque chose comme indiqué ci-dessous :

Il y a un code VBA dans le backend qui fait les choses suivantes :

  • Il vérifie s'il y a des commentaires dans la feuille de calcul active ou non. S'il n'y a pas de commentaires, il tire tranquillement sa révérence et ne fait rien.
  • S'il y a des commentaires dans la feuille de calcul, il crée une nouvelle feuille de calcul (« Commentaires ») et extrait une liste de tous les commentaires dans la structure suivante :
    • La colonne A contient l'adresse de la cellule contenant le commentaire.
    • La colonne B porte le nom du commentateur. Cela est pratique s'il y a plusieurs réviseurs du même fichier. Cela aidera également à filtrer/trier en fonction du nom des réviseurs.
    • La colonne C contient le commentaire.

Télécharger le fichier exemple

Le code VBA

Voici le code VBA qui fait tout le gros du travail ici.

Sub ExtractComments() Dim ExComment As Comment Dim i As Integer Dim ws As Worksheet Dim CS As Worksheet Set CS = ActiveSheet If ActiveSheet.Comments.Count = 0 Then Exit Sub For Each ws In Worksheets If ws.Name = "Comments" Then i = 1 Next ws Si i = 0 Then Set ws = Worksheets.Add(After:=ActiveSheet) ws.Name = "Comments" Sinon : Set ws = Worksheets("Comments") End If Pour chaque ExComment Dans CS.Comments ws. Range("A1").Value = "Comment In" ws.Range("B1").Value = "Comment By" ws.Range("C1").Value = "Comment" With ws.Range("A1 : C1") .Font.Bold = True .Interior.Color = RGB(189, 215, 238) .Columns.ColumnWidth = 20 End With If ws.Range("A2") = "" Then ws.Range("A2" ).Value = ExComment.Parent.Address ws.Range("B2").Value = Left(ExComment.Text, InStr(1, ExComment.Text, ":") - 1) ws.Range("C2"). Value = Right(ExComment.Text, Len(ExComment.Text) - InStr(1, ExComment.Text, ":")) Sinon ws.Range("A1").End(xlDown).Offset(1, 0) = ExComment.Parent.Address ws.Range("B1").End(xlDown).Offset(1, 0) = Left(ExComment. Text, InStr(1, ExComment.Text, ":") - 1) ws.Range("C1").End(xlDown).Offset(1, 0) = Right(ExComment.Text, Len(ExComment.Text) - InStr(1, ExComment.Text, ":")) End If Next ExComment End Sub

Comment utiliser ce code

Il existe plusieurs façons d'utiliser ce code pour obtenir une liste de commentaires à partir de votre feuille de calcul :

#1 Copier coller des données dans le fichier d'exemple

Copiez-collez vos données (en l'état) dans l'onglet Données du fichier de téléchargement, puis exécutez cette macro.

Pour exécuter ceci :

  • Allez dans l'onglet Développeur et cliquez sur Macros. Cela ouvrira la boîte de dialogue Macro.
  • Sélectionnez ExtraireComment et cliquez sur Exécuter. Assurez-vous que vous êtes dans la feuille qui contient les commentaires que vous souhaitez extraire.

#2 Copiez collez le code dans votre classeur

Copiez le code et collez-le dans le classeur à partir duquel vous souhaitez extraire les commentaires.

Pour faire ça:

  • Activez le classeur dans lequel vous travaillez et appuyez sur Alt + F11. Cela ouvrira la fenêtre de l'éditeur VB.
  • Dans l'explorateur de projets à gauche, cliquez avec le bouton droit sur l'un des objets de ce classeur, accédez à Insertion -> Module.
  • Collez le code dans la fenêtre Code du module.
  • Fermez la fenêtre de l'éditeur VB (ou appuyez sur Alt + F11 pour revenir à la feuille de calcul).

Vous avez maintenant la macro dans votre classeur. Pour exécuter la macro, accédez à l'onglet Développeur -> Macros. Dans la boîte de dialogue Macro, sélectionnez la macro ExtractComment et cliquez sur Exécuter.

Remarque : Assurez-vous d'enregistrer le classeur avec .Extension XLS ou .XLSM.

#3 Créer un complément

Si vous devez utiliser ce code souvent, il est préférable d'en créer un complément. De cette façon, vous pouvez facilement l'utiliser dans n'importe quel classeur (sans l'effort supplémentaire de copier-coller le code encore et encore).

Voici comment créer un complément :

  • Allez dans Fichier -> Enregistrer sous.
  • Dans la boîte de dialogue Enregistrer sous, modifiez le type Enregistrer sous en .xlam.
    • Vous remarquerez que le chemin du fichier où il est enregistré change automatiquement. Vous pouvez le changer si vous voulez.
  • Ouvrez un classeur Excel et accédez à Développeur -> Compléments -> Compléments Excel.
  • Dans la boîte de dialogue Compléments, parcourez et localisez le fichier que vous avez enregistré, puis cliquez sur OK.

Une fois qu'un complément a été activé, vous pouvez l'utiliser dans n'importe quel classeur. Pour ce faire, allez dans Développeur -> Macros. Dans la boîte de dialogue Macro, sélectionnez la macro ExtractComment et exécutez-la.

Télécharger le fichier exemple

J'espère que ce code vous fera gagner du temps. Faites-moi part de vos réflexions dans la section commentaires.

Si vous travaillez avec Excel, VBA pourrait être un puissant allié. Améliorez vos compétences Excel avec le cours Excel VBA.

Vous contribuerez au développement du site, partager la page avec vos amis

wave wave wave wave wave