ludo07 Posté(e) le 11 août 2009 Posté(e) le 11 août 2009 Bonjour, ci dessous un programme compris dans un modul de classe:_________________________________________Sub colonne(a, g, larg, e, valzoom1a)lim = g + (a * larg) + (e * (a - 1))If valzoom1a > lim Thenvalzoom1a = gycol = 1Elseycol = ycol + 1valzoom1a = g + (ycol - 1) * (larg + e) ' - (larg - e)End IfEnd Sub_________________________________________ J'ai un premier programme avec une boucle FOR i = 1 to adans lequel je fais appel au programme ci dessus compris dans un modul de classe. Mon problème est le suivant: la première fois que je rentre dans le programme COLONNEvalzoom1a n'est pas supérieur à limdonc il passe à else ycol prend la valeur 1. Cependant quand je passe pour la deuxième fois valzoom1a est toujours inférieur à lim donc je doit passer à else ycol devrait être egal à 2 et bin non. POURQUOI? J'ai l'impression que ycol se réinitialise. A+
ludo07 Posté(e) le 12 août 2009 Auteur Posté(e) le 12 août 2009 Bonjour à tous, Aprés vérification je me suis trés grandement compliqué la tache. J'ai supprimé mon modul de classe et ajouté dans le corps de mon programme 3 à 4 expressions avec < ou > pour obtenir le résultat souhaité. A+
Titifonky Posté(e) le 12 août 2009 Posté(e) le 12 août 2009 Il faut déclarer ta variable ycol en static sinon la sous-routine réinitialise la variable à chaque fois que ta routine principale l'utilise. Pense à bien déclarer tes variables dans chaque routine Sub colonne(a, g, larg, e, valzoom1a) Dim lim as Double Static ycol as Integer lim = g + (a * larg) + (e * (a - 1)) If valzoom1a > lim Then valzoom1a = g ycol = 1 Else ycol = ycol + 1 valzoom1a = g + (ycol - 1) * (larg + e) ' - (larg - e) End If End Sub Maintenant, ta sous-routine enregistre la valeur de la variable à chaque utilisation de celle ci Cordialement Bonne journée www.le-metal.net, sur la métallerie
ludo07 Posté(e) le 12 août 2009 Auteur Posté(e) le 12 août 2009 Ok sympa d'avoir répondu, Merci Titifonky. A+
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant