🚀The world's best VBA AI has evolved. ExcelMaster is now an autonomous Agent.Read more →
Back to Blog

VBA Comment dans Excel — mettre du code en commentaire, la règle de l'apostrophe et pourquoi il ne s'exécute jamais

|

VBA Comment dans Excel — mettre du code en commentaire, la règle de l'apostrophe et pourquoi il ne s'exécute jamais

TL;DR — Placez une apostrophe ' devant n'importe quelle ligne et tout ce qui suit devient un commentaire : le compilateur le supprime avant l'exécution de votre macro. Deux rôles — laisser une note, ou désactiver temporairement du code sans l'effacer. Il n'existe pas de syntaxe de bloc /* */ ; pour désactiver tout un bloc, vous préfixez chaque ligne d'un ' (le bouton Comment Block de l'Edit toolbar le fait en une fois). Commentez le pourquoi, jamais le quoi — un commentaire qui répète le code est un mensonge qui n'attend qu'un changement du code.

Sub CommentBasics()
    ' Cette ligne entiere est une note - le compilateur l'ignore
    Dim total As Long
    total = 100            ' un commentaire en fin de ligne explique le POURQUOI, pas le quoi

    ' MsgBox total         <- desactive, pas supprime : retirez le ' pour le reactiver
End Sub

Ce que vous allez apprendre

  • Le modèle mental — un commentaire est la seule ligne dont on a la garantie qu'elle ne s'exécutera jamais
  • Les trois éléments qui n'agissent que sur la source, et pourquoi les débutants les sous-estiment tous
  • L'apostrophe ' face au plus ancien Rem, et quand chacun est permis
  • Comment mettre tout un bloc en commentaire (et où se cache le bouton)
  • Pourquoi un commentaire casse une continuation de ligne — et pourquoi ce piège est silencieux
  • Un commentaire de source face à l'objet Comment / Note de cellule — deux choses différentes
  • L'avis : les seuls commentaires qui méritent leurs pixels

Le modèle mental : la seule ligne qui ne s'exécute jamais

Chaque autre ligne que vous écrivez est une instruction pour la macro. Un commentaire, non. Dès que le compilateur VBA voit une apostrophe, il jette le reste de cette ligne — elle n'est jamais analysée, jamais compilée, jamais exécutée. Cette seule garantie est toute la raison d'être du commentaire, et elle alimente les deux rôles qu'il joue :

  1. Expliquer l'intention au prochain humain (souvent vous, plus tard), et
  2. Désactiver du code sans le supprimer, pour tester un changement et remettre l'ancienne ligne d'une seule frappe.

Parce qu'un commentaire est invisible pour le compilateur, mettre une ligne en commentaire est la modification la plus sûre de VBA : rien n'est perdu, rien n'est risqué. Et parce qu'il est invisible pour le compilateur, un commentaire faux ne sera jamais détecté — aucune erreur, aucun avertissement, jamais. Gardez ces deux idées en tête et le reste de ce guide en découle.

Trois éléments que la macro n'exécute jamais

Un commentaire n'est pas une fonctionnalité isolée — c'est l'un des trois éléments que vous tapez et que la macro en cours d'exécution n'exécute jamais. Ils façonnent la source et la compilation, pas l'exécution, et c'est précisément pourquoi les nouveaux venus les balaient comme des détails. Ils font la différence entre du VBA que l'on peut maintenir et du VBA qui pourrit.

Élément Ce qu'il fait à votre source Ce qu'il coûte à l'exécution
' commentaire Laisse des notes et désactive du code que le compilateur supprime Rien — il ne s'exécute jamais
_ continuation de ligne Découpe une longue instruction sur plusieurs lignes Rien — l'analyseur l'efface avant la compilation
Option Explicit Force chaque nom à être déclaré S'exécute à la compilation, donc les fautes de frappe meurent avant que la macro démarre

Maîtrisez les trois et les fautes de frappe meurent avant de s'exécuter, une ligne de 300 caractères cesse de disparaître hors de l'écran, et le code mort se bascule d'une seule apostrophe. Ce guide est le premier barreau ; les deux autres sont à un clic.

Apostrophe contre Rem : choisissez l'apostrophe

VBA a deux marqueurs de commentaire, et ils ne sont pas égaux.

' L'apostrophe fonctionne partout - ligne entiere ou fin de ligne
x = 5          ' explique cette affectation

Rem L'instruction Rem ne fonctionne que comme instruction ENTIERE
x = 5 : Rem il faut un deux-points pour placer Rem apres du code
Rem x = 5      ' <- Rem ne peut pas se placer en fin de ligne sans deux-points

L'apostrophe ' est le marqueur moderne et universel : elle est permise au début d'une ligne ou accrochée à la fin de n'importe quelle instruction. Rem est un vestige des premiers BASIC — c'est une instruction, elle doit donc commencer une instruction, et pour la placer après du code il faut un séparateur deux-points (x = 5 : Rem note). Il n'y a aucune raison de recourir à Rem dans du code neuf. Apprenez l'apostrophe et oubliez que Rem existe, sauf le jour où vous en héritez dans la macro de quelqu'un d'autre.

Mettre un bloc en commentaire : le bouton est caché

VBA n'a aucune syntaxe de commentaire de bloc /* ... */. Pour désactiver plusieurs lignes, vous placez une apostrophe devant chacune :

'    total = 0
'    For i = 1 To n
'        total = total + data(i)
'    Next i

Le faire à la main est fastidieux, et c'est pourquoi les débutants suppriment du code pour vérifier s'il est en cause — puis n'arrivent plus à le récupérer. Ne le faites pas. L'éditeur VBA fournit les boutons Comment Block et Uncomment Block qui ajoutent ou retirent l'apostrophe sur toutes les lignes sélectionnées d'un coup. Le hic : ils se trouvent sur l'Edit toolbar, qui n'est pas affichée par défaut. Activez-la une fois via View > Toolbars > Edit, et désactiver un bloc de dix lignes devient une affaire de sélection puis de clic. C'est l'habitude de débogage la plus utile de VBA : ne supprimez jamais du code pour tester une hypothèse — mettez-le en commentaire, exécutez, puis retirez le commentaire.

Le piège silencieux : un commentaire tue une continuation de ligne

Voici celui qui coûte un après-midi. Vous ne pouvez pas placer un commentaire au milieu d'une instruction découpée sur plusieurs lignes avec la continuation _, parce que l'apostrophe termine la ligne logique — et emporte le _ avec elle.

' CASSE - le commentaire avale la continuation
total = price _   ' ajoute le prix de base
      + tax        ' <- "+ tax" est maintenant une instruction distincte et cassee

' CORRECT - pas de commentaire sur les lignes continuees, ou placez-en un au-dessus
' ajoute le prix de base et la taxe
total = price _
      + tax

Rien ne cloche au premier coup d'œil, et le message d'erreur — Expected: end of statement sur la ligne + tax, ou un résultat silencieusement modifié — pointe au mauvais endroit. La règle : une continuation de ligne _ et un commentaire ne peuvent pas partager une même ligne physique. Placez l'explication sur sa propre ligne de commentaire, au-dessus de l'instruction. (C'est la couture où deux de nos trois éléments de source se percutent ; le guide sur la continuation de ligne couvre l'autre moitié.)

Commentaire de source contre l'objet Comment de cellule

Deux choses complètement différentes partagent le mot comment, et les internautes atterrissent ici en pensant à l'une ou à l'autre.

  • Un commentaire de source (cet article) — une apostrophe dans votre code VBA. Il vit dans l'éditeur, documente ou désactive du code, et n'apparaît jamais sur la feuille de calcul.
  • Un Comment / Note de cellule — une note jaune attachée à une cellule de la grille, que vous ajoutez en code avec Range("A1").AddComment "text" (ancienne méthode) ou via Range("A1").NoteText / l'API Comments moderne en fil de discussion. C'est une donnée sur la feuille, visible par quiconque ouvre le fichier.

Si vous êtes venu annoter votre code, restez — tout ce qui précède s'applique. Si vous vouliez déposer une note sur une cellule depuis une macro, c'est le modèle objet AddComment / NoteText, un sujet entièrement différent. La confusion est fréquente précisément parce qu'Excel a réutilisé le mot.

L'avis : commentez le pourquoi, jamais le quoi

La plupart des commentaires sont du bruit, et les pires sont carrément nuisibles. i = i + 1 ' add one to i ne vous dit rien que le code n'ait déjà dit, et le jour où quelqu'un change la ligne en i = i + step, le commentaire devient un mensonge qu'aucun compilateur ne signalera jamais. Un commentaire qui répète le code pourrit plus vite que le code lui-même.

Les commentaires qui méritent leurs pixels sont ceux que le code ne peut pas dire :

  • Le pourquoi, pas le quoi — ' Suppliers send dates as text; parse before comparing explique une décision.
  • Unités et hypothèses' amount is in cents, not dollars évite un vrai bug.
  • Cas limites et pièges' returns Empty on a blank sheet - callers must handle it.
  • Code désactivé avec une raison et une date' 2026-09: dropped the retry, the API is stable now.

Et souvent, le meilleur commentaire est l'absence de commentaire : une variable nommée totalCents vaut mieux que total ' in cents, et activer Option Explicit avec de vraies déclarations documente l'intention mieux qu'un paragraphe de prose. Écrivez le code de façon à ce qu'il ait besoin de moins de commentaires, puis faites en sorte que les rares que vous gardez portent sur le pourquoi.

Quand le vrai travail est de comprendre la macro, pas de l'annoter

Les commentaires vous aident à lire du code que vous avez déjà. Mais la moitié du temps, la vraie tâche est l'inverse — vous fixez une macro héritée de 300 lignes sans le moindre commentaire, en essayant de comprendre ce qu'elle fait avant d'oser la changer. La lire ligne par ligne, y parsemer des Debug.Print et reconstruire la logique à la main peut coûter plus cher que la modification elle-même. ExcelMaster vous laisse sauter cette étape : décrivez ce que vous voulez en langage courant — « nettoie cette colonne, supprime les doublons et totalise le reste par mois » — et il écrit et exécute le code, en sauvegardant d'abord votre fichier. Vous obtenez le résultat sans décoder le VBA non commenté de quelqu'un d'autre, et le code qu'il génère est assez court pour être réellement lu.

Foire aux questions

Comment mettre une ligne en commentaire en VBA ?

Placez une apostrophe ' au début de la ligne (ou n'importe où sur celle-ci — tout ce qui suit l'apostrophe est ignoré). Pour mettre plusieurs lignes en commentaire d'un coup, sélectionnez-les et cliquez sur Comment Block dans l'Edit toolbar (View > Toolbars > Edit pour l'afficher), ce qui ajoute une apostrophe à chaque ligne sélectionnée.

Quelle est la différence entre l'apostrophe et Rem en VBA ?

Les deux marquent un commentaire, mais l'apostrophe ' fonctionne partout — au début d'une ligne ou accrochée à la fin d'une instruction — tandis que Rem est une instruction et doit en commencer une, exigeant un deux-points pour suivre du code (x = 5 : Rem note). Utilisez l'apostrophe ; Rem ne survit que dans le code hérité.

Comment mettre tout un bloc en commentaire en VBA ?

Il n'existe pas de syntaxe de bloc /* */. Sélectionnez les lignes et utilisez le bouton Comment Block de l'Edit toolbar pour préfixer chacune d'une apostrophe, et Uncomment Block pour les retirer. Affichez la barre d'outils avec View > Toolbars > Edit si vous ne voyez pas les boutons.

Pourquoi mon code casse-t-il quand j'ajoute un commentaire ?

Presque toujours parce que vous avez placé le commentaire sur une ligne qui se termine par une continuation de ligne _. L'apostrophe termine l'instruction logique et emporte le _, si bien que la ligne suivante devient une instruction distincte et cassée. Déplacez le commentaire sur sa propre ligne, au-dessus de l'instruction continuée.

Un commentaire VBA est-il la même chose qu'un commentaire de cellule ?

Non. Un commentaire VBA (de source) est une apostrophe dans votre code et ne vit que dans l'éditeur. Un Comment ou Note de cellule est une annotation jaune sur une cellule de feuille, ajoutée en code avec Range.AddComment ou Range.NoteText et visible dans la grille. Ils partagent un nom mais n'ont aucun rapport.

Testé dans

Testé dans : Excel 365 (Windows 11), VBA 7.1 — vérifié le 06/09/2026.

Guides associés : VBA Option Explicit · VBA Line Continuation · VBA Dim · VBA Debug.Print · VBA MsgBox