Une macro trop longue

Une macro trop longue - VB/VBA/VBS - Programmation

Marsh Posté le 25-08-2005 à 20:59:43    

Bonjour a tous
Je voulais savoir s'il y avait quelque chose a faire lorsqu'au lancement d'une macro excel on obtenait ce charmant mais neanmoins tres douloureux message?
 
"Compile Error
Procedure too large"
 
Merci par avance
 
Florent

Reply

Marsh Posté le 25-08-2005 à 20:59:43   

Reply

Marsh Posté le 26-08-2005 à 00:33:59    

On subdivise...
 
On fait appel à d'autres procédures pour rendre la routine principale plus courte.


---------------
Si on vous donne une info qui marche, DITES-LE!!!! ------ Si vous trouvez seul, AUSSI, votre solution peut servir à d'autres! ------ Je dois la majorité de mes connaissances à mes erreurs!
Reply

Marsh Posté le 26-08-2005 à 09:51:25    

Citation :

"Compile Error  
Procedure too large"


MDR!! Je ne savais pas qu'il y avait une taille maximum pour une procedure...
 
Une petit conseil pour eviter ce genre de chose. Une procedure doit effectuer une et une seule tache. Si elle a besoin du resultat d'autres taches, elle appelle d'autres fonctions (ou procedures).
En respectant ceci, tes procedures ne devraient pas exceder 100 lignes. (C'est deja bcq...)


Message édité par guendalf le 26-08-2005 à 09:51:54

---------------
Guendalf
Reply

Marsh Posté le 26-08-2005 à 15:27:44    

guendalf a écrit :

MDR!! Je ne savais pas qu'il y avait une taille maximum pour une procedure...


Idem pour moi.
 
J'ose pas imaginer la tête qu'elle a cette procédure.
 
Merci pour le commentaire "une procédure = une tâche", j'ai eu la flemme de le taper.

Reply

Marsh Posté le 27-08-2005 à 15:10:50    

pour continuer, procédure
 
Sub ma_procedure(eventuellement_des_options)
...
End Sub
 
pour apeller
Call ma_procedure(options)


---------------
now : do nothing
Reply

Marsh Posté le 05-09-2005 à 16:03:54    

Ma procédure fait 409 lignes, et elle fonctionne très bien :-)

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed