Gestion des macro dans gros fichiers excel !

suistrop

XLDnaute Impliqué
Bonjour,
Dans le cadre de mon stage je suis amené a faire utiliser un énorme classeur excel avec plus de 15 feuilles et j ai du faire bien 30 voir 40 macro dessus !!

Mon pbl est comment faire pour m y retrouver au mieux j ai bien sur pris le soin de commenter mes macro de leur donner des noms explicite .... mais je voudrais savoir si vous avez des astuces pour géré tout cela sachant que comme je débute sous excel / vba je n utilise pas les bouton formulaire ... donc la solution se trouve peut etre ici.
J ai du réutiliser des macro qui datai d a peine une semaine et j ai lutter pour les retrouver savoir ce quel fesais ..... enfin c est vraiment pas évident a géré tout cela !!!


J attend vos commentaires et astuces avec impatience :D


Cordialement !!
 

skoobi

XLDnaute Barbatruc
Re : Gestion des macro dans gros fichiers excel !

Bonjour,

Pour commencer, si tu as plusieurs modules, commence par leur donner un nom explicite si c'est pas encore fait.
Attention, si tu fais appelle à une macro se trouvant dans un autre module, il faudra penser à modifier aussi l'instruction.
Exemple:
Call Module1.Macro1 devient Call MonModule.Macro1.
Cela vaut aussi pour le nom des macros (ou procédure pour employer le terme correct).
Tu peux aussi te servir des modules comme des répertoires pour retrouver plus rapidement une procédure.
Tu leurs donne un nom dans lesquels tu y mets les procédures qui se ressemble, mais attention à ce que j'ai dis plus haut en faisant ça!
Bien sur, ce n'est qu'un exemple, tout dépend de la structure de ton projet!
 

suistrop

XLDnaute Impliqué
Re : Gestion des macro dans gros fichiers excel !

ouai j ai plein de module mais je savais pas qu on pouvais les renommer... je vais voir ca dans un premier tps !
Ensuite comme je débute je n ai pas de macro qui font apel a d autre macro dans des modules différents ....

Mais c est vraiment pas évident a géré vu toute analyses différentes que j effectue sur le classeur !
 

GIBI

XLDnaute Impliqué
Re : Gestion des macro dans gros fichiers excel !

Bonsoir,

Skoobi t'a donné de bon conseil, en particulier sur l'organisation des modules organisés comme des répertoires .

Permets mois d'ajouter :
*** l'aspect normalisation :
Nom de procédure explicite du type "EditerTableauTruc" déclaration de toutes les variables ==> ajouter "Option explicit" pour Exiger la déclaration explicite des variables pour éviter les fautes de frappe.

Nom avec Majuscule et minuscule
Commentaires en français pour chaque module (Sub) ou bloque d'instruction

Indentation du code (il existe des freeWare par exemple "IndenterVBA.exe" pour le faire automatiquement).

*** un minimum de Documentation (pas en langage technique, mais en langage utilisateur)
Créer un onglet ou tu fais la synthèse des module/fonction que tu as créés.
Je te conseil de le faire Sous forme de procédure en associant une ou des macro à chaque traitement. Tu peux même cacher l'onglet si tu ne le juge pas utile pour tous


Remarque : pour renommer des variables ou autres fonction tu peux le faire facilement sur tout le projet (CTRL+H)

Et surtout fait des backup (sauvegarde) sur plusieurs versions du style MonFichier_V01.XLS


C'est beaucoup de bon sens

Bon courage
 
Dernière édition:

suistrop

XLDnaute Impliqué
Re : Gestion des macro dans gros fichiers excel !

Bonsoir,

Nom de procédure explicite du type "EditerTableauTruc" déclaration de toutes les variables ==> ajouter "Option explicit" pour Exiger la déclaration explicite des variables pour éviter les fautes de frappe.
je ne connais pas l option explicit ca sert a quoi je la vois souvent sur vos macro....
*** un minimum de Documentation (pas en langage technique, mais en langage utilisateur)
Créer un onglet ou tu fais la synthèse des module/fonction que tu as créés.
Je te conseil de le faire Sous forme de procédure en associant une ou des macro à chaque traitement. Tu peux même cacher l'onglet si tu ne le juge pas utile pour tous

Remarque : pour renommer des variables ou autres fonction tu peux le faire facilement sur tout le projet (CTRL+H)
Bon courage
Oui je vais faire un récapiltulatif mais je le fais dans 1 feuille dans le classeur ou dans 1 ficher a part?
 

GIBI

XLDnaute Impliqué
Re : Gestion des macro dans gros fichiers excel !

je ne connais pas l option explicit ca sert a quoi je la vois souvent sur vos macro....

Cette option, comme je l'ai écrit, est là Exiger la déclaration explicite des variables. autrement dit on ne peut pas utiliser une variable qui n'a pas été déclarée dans une instruction DIM. Cela permet d'une part de définir le type de variable (Long, String,Date,...) et d'éviter les erreur de frappe (par ex. sans option explicit, si tu fais une faute d'orthographe, VB ne le dit pas et tu cherche des heures pourquoi le code ne fonctionne pas). Si tu déclare ta variable avec une syntaxe Majuscule+minucule, lors de la frappe (en minuscule) elle est substitué comme pour les ordres VB.

Oui je vais faire un récapiltulatif mais je le fais dans 1 feuille dans le classeur ou dans 1 ficher a part?

Moi j'aime bien un minimum de doc dans le même classeur, cela évite de perdre la doc. Si la doc est trop technique tu peux cacher l'onglet. Si ta doc est trop volumineuse (Texte + copie d'écran par exemple) alors fait une doc sous word et dans ton classeur excel tu fais un lien vers la doc (CTRL+K)



GIBI
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : Gestion des macro dans gros fichiers excel !

Bonjour

Juste pour apporter de l'eau au moulin de ce qui a déjà été dit

1 - bien nommer les macros avec des noms bien explicites

2 - Bien les ranger dans des modules différents en fonction de ce qu'elles font

3 - Bien nommer ces modules avec des noms explicites

4 - Perso j'aime bien me faire un module uniquement pour mes variables publics

5 - J'aime bien aussi nommer mes feuilles et faire appel au nom VBA au lieu du nom de la feuille

6 - Un minimum de commentaires pour t'y retrouver après

7 - Souvent il est plus facile de faire de petites macros séparées qui s'appellent plutôt qu'une seule mais qui soit monstrueuse

Voilà que quelques points personnelles qui rejoignent ce qui a été dit avant

Bonne journée
 

suistrop

XLDnaute Impliqué
Re : Gestion des macro dans gros fichiers excel !

Merci pour ses réponses !!
je ferais peut etre bien de faire des variables public car y en a que j utilise tout le tps ca me ferait gagner 2 lignes de codes sur mes macro !

Est il possible de faire des "sous modules"?? ou c est juste module -> macro :D


Petit soucis...
Comment faire pour classer mes modules dans un certains ordre???
je voulais les appeler 01_saisie, 02_traitement,03..... mais on dirait que je ne peux pa commencer le nom de mon module par un chiffre .... Suis je alors obliger de faire A_Saisie B_traitement ....

Merci a tous !
 

GIBI

XLDnaute Impliqué
Re : Gestion des macro dans gros fichiers excel !

Suistrop tu réfléchis trop,

Si tes variables sont utilisées localement laisse les en local. Les variables "Public" sont réservés aux variables partagées par plusieurs module ou aux constantes comme des noms de chemin, de feuilles ou des valeurs de constantes qui peuvent évoluée

Public Const Montant_Mini As double = 1000
Public Const Dir_Ctrl As String = "D:\TITO\Doc"


Par contre tu peux partager des variables entre plusieurs procédures d'un même module

Tu peux construire une macro en structurant
MODUL_CTRL
DIM les variables commune au "Sub" du module

Sub S01_tttt
Dim les variable de S01ttt

S011_Début

S012_milieu param ' appel en passant une variable

S013_Fin

end sub


Attention de ne pas tout casser : la règle c'est : éviter de toucher ce qui marche et commencer par normaliser les nouveaux développements
et BACKUP

GIBI
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : Gestion des macro dans gros fichiers excel !

Attention de ne pas tout casser : la règle c'est : éviter de toucher ce qui marche et commencer par normaliser les nouveaux développements

Re

Tout à fait d'accord

Comme le dit GIBI c'est au tout début du développement qu'il faut bien réfléchir à ce genre de choses.

M'enfin cela te sera utile pour la suite :rolleyes:
 

suistrop

XLDnaute Impliqué
Re : Gestion des macro dans gros fichiers excel !

Heuresement pour moi ce n est pas nouveau la programmation donc j ai quelque base juste je découvre VBA depuis 3 semaine a peu pres.

toutes mes macro sont indépendantes :)
je fais des backup tout le tps meme trop c est presque un reflexe...

Enfin le plus gros soucis c est que moi je comprend a peu pres tout ce que j ai fais meme si apres une semaine revenir sur une macro demande tjs un petit effort meme si elle est commenté !!! Mais tout ce que j ai fais dois etre compris par mon chef pour qu il puisse l utiliser avec le stagiaire de l année prochaine car ce que j ai fais a pas mal changer le traitement des données de l étude de stats annuelle.
 

skoobi

XLDnaute Barbatruc
Re : Gestion des macro dans gros fichiers excel !

Bonjour, Pascal GIBI, suistrop,
je ne connais pas l option explicit ca sert a quoi je la vois souvent sur vos macro....

Petite astuce si tu ne la connais pas encore: place le curseur sur le mot pour lequel tu veux de l'aide et appuie sur F1 ;).
Pour "Option Explicit":Instruction utilisée au niveau module pour imposer la déclaration explicite de toutes les variables de ce module.
Cette instruction est conseillée pour des gros porgrammes ou lorsque tu en as plusieurs ce qui est ton cas.
 

suistrop

XLDnaute Impliqué
Re : Gestion des macro dans gros fichiers excel !

Merci de prendre le tps de me répondre :D

ha ouai je serai donc obliger de faire:
dim x as integer ....

au debut je fesais ca mais les integer été trop petit pour certain truc donc j ai abandonné vu qu il le fais automatiquement !!!

par contre je vais peut etre m orienté vers des variable public qui seront plus facile a modifier pour mes successeurs !
 

Discussions similaires

Statistiques des forums

Discussions
312 248
Messages
2 086 595
Membres
103 250
dernier inscrit
keks974