Monsieur Excel
Pour tout savoir faire sur Excel !

08 décembre 2011

Les mots réservés du VBA Excel

Le langage VBA d’Excel comporte de nombreux mots réservés. Si on les utilise par erreur, on obtient dans le meilleur des cas une erreur de syntaxe. Là, ce n’est pas trop grave car on voit qu’il y a un problème et on peut y remédier :)

Il peut en revanche y avoir un problème quand cela ne provoque pas d’erreur de syntaxe et que la variable ne fait pas exactement ce que l’on en attend.

En me baladant sur Google dans l’espoir de trouver une liste de ces mots réservés, je n’ai quasiment trouvé que des gens déplorant que cette liste n’existe apparemment pas, en tout cas dans ce qui est diffusé par Microsoft ou par d’autres spécialistes Excel.

Comment s’aperçoit-on qu’un mot est réservé ?

Une bonne méthode consiste à taper ce mot dans une instruction. Si l’on aboutit à une erreur de syntaxe, il est clair qu’il est réservé.

Sinon, si la syntaxe passe mais que le mot se met à afficher une ou plusieurs majuscules, c’est aussi qu’il est réservé.

Nous le voyons dans les deux copies d'écran ci-dessous. Dans le premier cas,
« friend » engendre une erreur de syntaxe. Dans le second cas, l’instruction sera acceptée, mais elle affichera « Description = 3 », la majuscule indiquant que le mot était réservé.

Remarque – C’est pour cette raison que, chaque fois que je définis une variable, je m’arrange pour lui donner au moins une majuscule. Je peux ainsi vérifier, quand je l’utilise, que les bonnes majuscules apparaissent au bon endroit.

Dans le prochain article, je vous donnerai ma liste des mots réservés du VBA Excel.

4 Commentaire(s):

  • D'où la recommandation, faite par Mme Microsoft elle-même, dans ses cours officiels VB6 (langage à la base de VBA) de "préfixer" ses variables (int pour une variable "Integer", dbl pour une variable "Double", etc..).
    Ainsi, pas de confusion possible avec les mots-clés du langage VB.
    Soit par exemple :
    Dim intFriend as Integer
    Dim dblSub As double
    etc.. etc..

    By Anonymous cduigou, sur 9:57 PM  

  • Je trouve que cela alourdit hélas les noms...

    Certes, on peut s'amuser avec des noms comme strAngulation, intHello, longIncarné, binYou,...

    Mais je préfère pour ma part en rester à mes habitudes en matière de noms...

    By Blogger Hervé Thiriez, sur 11:42 PM  

  • On peut le voir comme çà effectivement. Cependant, le préfixage a pour avantage que lorsque vous consultez un forum dans lequel les contributeurs respectent la convention, vous savez que, peu importe que l'auteur ait appelé, suivant sa langue maternelle, une variable intStroumpf ou intZorglub, il s'agit d'une variable "integer".

    PS : lngIncarné et blnYou seraient plus conformes au standard de préfixage ;:)))

    By Anonymous cduigou, sur 8:43 PM  

  • Est-ce qu'utiliser la liste des mots-clés contenue dans le fichier VBALIST.xls qui se trouve dans le répertoire "Microsoft Office\OFFICE11\1036" de votre installation d'Office (Office 2003 dans mon cas) ne répond pas à une grande partie du besoin ?

    Bon, il en manque sûrement quelques uns, mais c'est déjà une bonne base je trouve.

    Molenn

    By Anonymous Anonyme, sur 2:18 PM  

Enregistrer un commentaire

<< Accueil