titemi
Messages postés4Date d'inscriptionmercredi 1 août 2007StatutMembreDernière intervention13 août 2007
-
1 août 2007 à 17:34
titemi
Messages postés4Date d'inscriptionmercredi 1 août 2007StatutMembreDernière intervention13 août 2007
-
1 août 2007 à 20:48
Bonjour,
j'ai crée un formulaire multipage dans lequel je rentre des info qui servent à remplir 4 imprimés word.
Tout fonctionnait bien jusqu'à ce que j'ai la mauvaise idée de vouloir rajouter un cinquième imprimé! Je me trouve en face du message suivant : procédure trop longue!
l'aide de VB me dit qu'il faut fractionner le code. Bien mais comment?
Mon code fait 1530 lignes, est-ce trop
J'ai consulté un autre forum qui m'a répondu qu'il fallait factoriser
Je débute en VB et j'avoue que là je m'y perds!
C'est vrai que j'aurai peut-être du avec mon formulaire, stocker les infos dans un fichier excel pour ensuite aller les chercher pour remplir mes imprimés.
Mais bon, je n'ai pas vraiment envie de tout recommencer, surtout que cela fonctionnait bien.
Quelle solution Y-a-t-il
Le Papa de Thibaut
Messages postés53Date d'inscriptionmercredi 22 novembre 2006StatutMembreDernière intervention 7 mars 20151 1 août 2007 à 18:23
Hello Titemi
fractionner un code signifie écrire sur plusieurs procédures
exemple de code que je désire réduire
Command1_Click()
Msgbox("Bonjour")
Msgbox("Je suis un Exemple")
Msgbox("Fin")
End Sub
**** Je peux fractionner en créant une procédure *****
**** La procédure est plus courte mais il en faut 3 ********
Command1_Click()
Exemple00
Exemple01
End Sub
Private sub Exemple00()
Msgbox("Bonjour")
End Sub
Private sub Exemple01()
Msgbox("Je suis un Exemple")
Msgbox("Fin")
End Sub
cela répond à ta question ? Dans le même esprit, renseigne-toi sur
Procédure / Fonction
Private/Public
et les variables que l'on transmet dans les parenthèses
Le Papa de Thibaut
Messages postés53Date d'inscriptionmercredi 22 novembre 2006StatutMembreDernière intervention 7 mars 20151 1 août 2007 à 18:33
Factoriser ??
je garde le même exemple et je vais le "factoriser"
Command1_Click()
Parler("Bonjour")
Parler("Je suis un Exemple")
Parler("Fin")
End sub
Private sub Parler(Texteàlacon as string)
msgbox Texteàlacon
End sub
ok, mon exemple est pas bien choisi mais, ce qu'il faut comprendre c'est que je crée une procédure à qui je soutraite des choses...
dans ton code, tu as certainement des choses en double à "factoriser" ou des fonctions à soutraiter
exemple d'utilisation de fonction:
C'est un exemple. Je n'ai pas traiter les erreurs possibles
Command1_click()
dim A as long
A=inputbox("Nombre")
msgbox cstr(ledouble(a))
End sub
Private function LeDouble (Nbas long)
LeDouble = Nb * 2
End function
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 1 août 2007 à 19:30
Sous VB6, ce message d'erreur peut n'avoir rien a voir avec la longueur du code d'un module ou même la longueur d'une procédure.
Il est possible que tu ais une ligne trop longue, la ligne de code en VB6 est limitée à 255 caractères.
Tu peux aussi avoir ce message si tu as plusieurs tableaux dynamiques de grande taille que tu redimentionne en permanance
Tu dis que tu as 1500 lignes de code, si c'est 1500 lignes dans une seule fonction, il est certain que ton code est mal organisé et tu vas pouvoir réflechir à comment réorganiser tout ça.