[VBA] Standardiser mes noms de variables

F22Raptor

XLDnaute Impliqué
Bonjour à tous,
Même si mes programmes deviennent de plus en plus propres (notamment grâce à vous tous :) ), n'étant pas informaticien à la base, je n'ai pas forcément de bonnes habitudes, notamment sur des points de détails.

Par exemple, mes noms de variables "standards" : quand je dimensionne une variable pour un Workbook, c'est alternativement Classeur, MyWbk, MonClasseur, Toto, ...

Bref, j'aimerais standardiser tout ça.
Avez-vous des règles de bon sens à me conseiller pour cela ?
Du genre (une que j'applique) : Mettre des majuscules (comme MonClasseur) de manière à repérer tout de suite des fautes de frappe (Excel laisse 'monclassseur' en minuscules : c'est que j'ai un 's' en trop).

Merci et bonne journée à tous :cool:
 

Victor21

XLDnaute Barbatruc
Re : [VBA] Standardiser mes noms de variables

Bonjour.

L'important est de s'y retrouver, et d'aider ceux qui viendront à maintenir votre code à le comprendre. Un lien qui pourrait vous intéresser ici, en attendant d'autres propositions de plus compétents que moi :)
 

Dranreb

XLDnaute Barbatruc
Re : [VBA] Standardiser mes noms de variables

Bonjour.

À mon sens, d'après ce que vous dites, vous avez déjà de bons principes. Je ne pourrais qu'y ajouter le conseil de prendre des noms courts, surtout pour les variables locales, sauf pour les Boolean, que j'utilise assez peu, et pour lesquels j'aurais presque tendance à faire une phrase décrivant la condition vérifiée, genre IlYAUnOs, vu que dans des test il n'y a jamais lieu de les comparer à True ou False pour former une condition, vu que c'en est déjà une.

Et aussi toujours la même lettre de début pour leurs vocations revenant le plus souvent :
C: Colonne
F: Worksheet (Feuille)
L: Ligne
N: Numéro
P: Position
T: Tableau
V: Variant
X: Coordonnée
Y: Coordonnée
Z: Zone, String de travail
 
Dernière édition:

Roland_M

XLDnaute Barbatruc
Re : [VBA] Standardiser mes noms de variables

Bonjour à tous,

Sans oublier de renommer les objets comme il se doit, car trop souvent on voit ceci:
CommandButton1 ne signifie absolument rien dans le code surtout s'il y en plusieurs
------------------- si c'est pour imprimer, le renommer: ButtonImpression

CommandButton2 si c'est pour sauvegarder, le renommer: ButtonSauvegarde

pour une liste Combobox exemple:
une liste de noms: CbNoms
une liste d'Adress: CbAdres
...

et si l'on prévoit une grande quantité de Controls pour saisir divers
il sera plus facile par une boucle for each Ctrl sur les Controls
de tester et sélectionner ces contrôles par exemple
Left(Ctrl.Name,2) ="Cb" ...
Left(Ctrl.Name,6) ="Button" ...

toujours pour la lisibilité, se servir des majuscules exemple:
AdresMailDestin$
et pour éviter toutes confusions éviter(si possible) le tiret bas de soulignement _
Adres_Mail_Destin$ car vb l'utilise !

etc...

on peut trouver tout ça sur le net facilement

bon courage !
 

Si...

XLDnaute Barbatruc
Re : [VBA] Standardiser mes noms de variables

salut et désolé si certaines parties ont déjà été abordées

Standard le Franglais ?
C'est comme les canons de la beauté : ils changent en fonction de l'époque et si certains ont la peau "dure", ils peuvent quand même varier.
Pour ma part, je n'aime pas regarder des squelettes se tortiller pour en mettre plein la vue ou, dans un code, lire des noms à rallonge qui se veulent significatifs mais qui font oublier le contexte à la fin de leur lecture (dixit Coluche) surtout avec ce mélange de mots français et de mots anglais.

J'utilise, comme Dranreb**, la lettre initiale du type de variable, d'objet quand il n'y a pas de confusion possible*voire des noms les plus courts possibles.
D'ailleurs je remplace presque toujours Target, dont la portée peut être très limitée, par R (Range). Ce n'est pas un effet de zèle mais souvent une simplification d'écriture. Tout comme, je nomme les contrôles C1, C2, ... C36 où le nombre correspond au numéro de cellule affectée avec de sacrés raccourcis d'écriture.

De 2 choses l'une :
- ou le lecteur a tellement peu de connaissances en VBA qu'il n'a rien à faire des dénominations

- ou avec un peu d'habitude, la compréhension découle simplement de la syntaxe.

Même un débutant (pas au niveau 0 quand même) doit comprendre l'instruction For Each C in [T]
*Ici, qui n'a pas compris que C est l'initiale de cellule et non de colonne ? Ceux-là préfèreront alors Cel :p.

Finalement les choix s'imposent à chacun en fonction du degré de ses acquis et de l'utilisation des productions (plus ou moins complexes) proposées.

**Il a mis en place un outil très performant mais ce n'est pas les noms choisis qui nuisent à ma compréhension c'est plutôt mon manque de connaissances en ce langage de programmation.
 
Dernière édition:

Roland_M

XLDnaute Barbatruc
Re : [VBA] Standardiser mes noms de variables

re

heu, Si... qu'est ce que l'on doit en déduire !?
je comprends pas bien !? je sens comme une agressivité dans ton exposé ou je me trompe !?
tu réponds à notre ami pour l'aider ou ça s'adresse à ceux qui ont déjà répondu ?
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : [VBA] Standardiser mes noms de variables

Bonsoir à tous

Le VBA parle la langue de William S.
Ce lien n'existe plus ;)


[aparté]
NB: On peut aussi sortir du cadre les soirs de pleine lune, histoire de titiller son VBE.
Sub Way()
Dim ension As Range
Dim anche As Date
Dim inutif
Const ernation ="Ben voyons!" As String
'....
End Sub
[/aparté]

EDITION: Bonsoir Si...
Merci pour la coquille ;)
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 972
Membres
103 073
dernier inscrit
MSCHOE16