Humansoft
XLDnaute Occasionnel
Bonjour à tous, bonjour le forum
Voilà quelque temps que je navigue sur le forum, puisant çà et là des informations me permettant d’améliorer mes connaissances en Excel.
J’ai moi-même développé et posté quelques fichiers sur le dit forum afin d’apporter des nouveautés aux lecteurs de ce forum.
Toutefois, en toute humilité, je souhaiterais vous faire une proposition.
Nous développons tous de notre côté et avec bonheur, la seule lecture de vos post le prouvent, mais nous utilisons tous une forme de programmation aléatoire, ne laissant que peu de chance aux débutants de s’améliorer ou aux développeurs du forum de relire et retravailler des formules et des macros.
J’ai eu la chance de travailler dans une petite société de développement, où nous travaillions essentiellement sur Visual Basic et l’anarchie qui régnait dans la programmation nous a poussé à concevoir une charte de développement, permettant à tous les acteurs de prendre la suite de n’importe qui.
L’idée :
1- Paramétrer les variables de façon claire.
2- Utiliser la même façon de nommer tous les éléments constitutifs d’une application.
3- Ne mettre du code que dans les modules.
LES VARIABLES LOCALES
Nous avions décidé de les faire commencer par une lettre, le « z » puis une seconde lettre identifiant le type « i » puis un tiret bas (underscore) soit :
s pour String, i pour Integer, l pour Long etc …
Ainsi une variable de compteur nommé (zi_Nbr) était immédiatement identifié comme une variable locale et integer.
Pour le nom de la variable, en prenant exemple sur l’écriture Egyptienne, nous avons supprimé les voyelles. Nous essayons de conserver une lecture immédiate en ne conservant que les consonnes.
Exemple :
AVANT APRES
Dim boucle as string Dim zs_Bcl as string
Dim numero as integer Dim zi_Nmr as integer
Dim tableau as variant Dim zv_Tbl as variant
Etc …
Ainsi, nous conservions une bonne lecture et une dimension identique ou presque d’une variable à l’autre.
L’utilité des variables n’est plus à démontrer et doit être le plus souvent possible utilisé en développement, je sais que c’est bateau de dire cela mais il existe quelque irréductibles qui n’utilise pas les variables.
Enfin, lors de l’utilisation des paramètres dans les programmes et fonctions, on utilise la lettre « p » à la place du « z », la seconde lettre sera l’identifiant du type.
LES VARIABLES GLOBALES
Pour ces variables, déclarées en Public, la lettre utilisée était le « v » afin de l’identifier dans un programme.
Ainsi, lorsque l’on voit « vs_Ttr », on sait qu’il s’agit d’une variable globale déclarée dans un en-tête de module, de type « String » et vraisemblablement indiquant un titre de l’application. Pour les fenêtres, on utilisera plutôt vs_Cpt « caption ».
LES ELEMENTS DE L’APPLICATION
Dans l’application, nous avions l’habitude de nommer tous les éléments de celle-ci.
Ainsi ai-je gardé cette habitude pour le VBA, ce qui me permet de retrouver facilement mes marques lorsque je reprends une application longtemps après son développement initial.
Pour les feuilles du classeur, elles se nomment toutes en commençant par Sht_NomDeLaFeuille.
Les « Form » sont nommées « Wnd_NomDeLaForme ».
Les modules commence par « Mod_NomDuModule ».
Pour les autres éléments, je reprends dans le tableau suivant les noms que j’attribue à ces éléments :
Textbox Txt_Nom
Label Lbl_Nom
ComboBox Cbo_Nom
Form Wnd_Nom
ListBox Lst_Nom
Calendar Cld_Nom
Button Cmd_Nom
OptionButton Opt_Nom
Checkbox Chk_Nom
Frame Frm_Nom
Image Img_Nom
Etc …
LES MODULES
J’ai gardé également l’habitude de ne faire du code que dans les modules. Dans chaque feuille, seules les propriétés sont modifiées. Puis, on lance l’appel du code afin de ne pas surcharger la feuille.
Le second avantage de ce procédé est, bien sur, de pouvoir appeler ce code depuis tout emplacement de l’application et donc de le réutiliser autant que besoin.
Ainsi donc, la nomenclature permet un suivi plus simple pour son développeur mais également pour celui qui doit intervenir après lui ou en même temps.
J’espère ne pas avoir été trop long mais il me semblait intéressant de vous faire part de cette proposition.
Bonne continuation et longue vie au Forum
Vincent.
Voilà quelque temps que je navigue sur le forum, puisant çà et là des informations me permettant d’améliorer mes connaissances en Excel.
J’ai moi-même développé et posté quelques fichiers sur le dit forum afin d’apporter des nouveautés aux lecteurs de ce forum.
Toutefois, en toute humilité, je souhaiterais vous faire une proposition.
Nous développons tous de notre côté et avec bonheur, la seule lecture de vos post le prouvent, mais nous utilisons tous une forme de programmation aléatoire, ne laissant que peu de chance aux débutants de s’améliorer ou aux développeurs du forum de relire et retravailler des formules et des macros.
J’ai eu la chance de travailler dans une petite société de développement, où nous travaillions essentiellement sur Visual Basic et l’anarchie qui régnait dans la programmation nous a poussé à concevoir une charte de développement, permettant à tous les acteurs de prendre la suite de n’importe qui.
L’idée :
1- Paramétrer les variables de façon claire.
2- Utiliser la même façon de nommer tous les éléments constitutifs d’une application.
3- Ne mettre du code que dans les modules.
LES VARIABLES LOCALES
Nous avions décidé de les faire commencer par une lettre, le « z » puis une seconde lettre identifiant le type « i » puis un tiret bas (underscore) soit :
s pour String, i pour Integer, l pour Long etc …
Ainsi une variable de compteur nommé (zi_Nbr) était immédiatement identifié comme une variable locale et integer.
Pour le nom de la variable, en prenant exemple sur l’écriture Egyptienne, nous avons supprimé les voyelles. Nous essayons de conserver une lecture immédiate en ne conservant que les consonnes.
Exemple :
AVANT APRES
Dim boucle as string Dim zs_Bcl as string
Dim numero as integer Dim zi_Nmr as integer
Dim tableau as variant Dim zv_Tbl as variant
Etc …
Ainsi, nous conservions une bonne lecture et une dimension identique ou presque d’une variable à l’autre.
L’utilité des variables n’est plus à démontrer et doit être le plus souvent possible utilisé en développement, je sais que c’est bateau de dire cela mais il existe quelque irréductibles qui n’utilise pas les variables.
Enfin, lors de l’utilisation des paramètres dans les programmes et fonctions, on utilise la lettre « p » à la place du « z », la seconde lettre sera l’identifiant du type.
LES VARIABLES GLOBALES
Pour ces variables, déclarées en Public, la lettre utilisée était le « v » afin de l’identifier dans un programme.
Ainsi, lorsque l’on voit « vs_Ttr », on sait qu’il s’agit d’une variable globale déclarée dans un en-tête de module, de type « String » et vraisemblablement indiquant un titre de l’application. Pour les fenêtres, on utilisera plutôt vs_Cpt « caption ».
LES ELEMENTS DE L’APPLICATION
Dans l’application, nous avions l’habitude de nommer tous les éléments de celle-ci.
Ainsi ai-je gardé cette habitude pour le VBA, ce qui me permet de retrouver facilement mes marques lorsque je reprends une application longtemps après son développement initial.
Pour les feuilles du classeur, elles se nomment toutes en commençant par Sht_NomDeLaFeuille.
Les « Form » sont nommées « Wnd_NomDeLaForme ».
Les modules commence par « Mod_NomDuModule ».
Pour les autres éléments, je reprends dans le tableau suivant les noms que j’attribue à ces éléments :
Textbox Txt_Nom
Label Lbl_Nom
ComboBox Cbo_Nom
Form Wnd_Nom
ListBox Lst_Nom
Calendar Cld_Nom
Button Cmd_Nom
OptionButton Opt_Nom
Checkbox Chk_Nom
Frame Frm_Nom
Image Img_Nom
Etc …
LES MODULES
J’ai gardé également l’habitude de ne faire du code que dans les modules. Dans chaque feuille, seules les propriétés sont modifiées. Puis, on lance l’appel du code afin de ne pas surcharger la feuille.
Le second avantage de ce procédé est, bien sur, de pouvoir appeler ce code depuis tout emplacement de l’application et donc de le réutiliser autant que besoin.
Ainsi donc, la nomenclature permet un suivi plus simple pour son développeur mais également pour celui qui doit intervenir après lui ou en même temps.
J’espère ne pas avoir été trop long mais il me semblait intéressant de vous faire part de cette proposition.
Bonne continuation et longue vie au Forum
Vincent.