appel d'une fonction hors procédure principale dans visual basic

appel d'une fonction hors procédure principale dans visual basic - VB/VBA/VBS - Programmation

Marsh Posté le 25-10-2013 à 10:59:00    

bonjour,
 
Je réalise un programme en Vba. POur le moment, je travaille uniquement dans une procédure. Elle se localise dans l'onglet projet-feuil1.
Le code contient de nombreuses fonctions qui sont dans cette même feuille. J'ai dépassé les 3000 lignes, cela devient illisible et les erreurs deviennent difficile à localiser. J'aimerai donc déplacer ces fonctions dans un autre module et y faire appel à partir de ma fonction principale.
 
Le soucis, c'est que ces fonctions font appel parfois à 30 arguments calculés plus en amont dans la procédure principale et je me vois mal placer ces 30 arguments dans la parenthèse qui suit la déclaration de la fonction. Le problème ne se posait pas quand tout était dans la procédure principale car ces arguments étaient placés en variable globale et je ne devais pas les écrire dans la parenthèse en question.
 
J'aimerais donc savoir s'il existe une manière plus facile d'appeler une fonction dans un autre module sans avoir à définir tous ces arguments. Comme si on pouvait déclarer les variables de façon plus globale encore pour couvrir différents modules.
 
J'espère que c'est compréhensible.
 
D'avance merci à celui ou celle qui pourra m'aider

Reply

Marsh Posté le 25-10-2013 à 10:59:00   

Reply

Marsh Posté le 25-10-2013 à 13:04:11    

Salut,
tu peux déclarer tes variables en public (avant ta procédure).
Elles seront donc disponibles pour toutes les procédures du classeur.

Reply

Marsh Posté le 25-10-2013 à 13:36:21    

Takama13 a écrit :

Salut,
tu peux déclarer tes variables en public (avant ta procédure).
Elles seront donc disponibles pour toutes les procédures du classeur.


 
Merci  :)

Reply

Marsh Posté le 25-10-2013 à 14:56:09    

En fait, pour une raison que j'ignore, ça ne fonctionne toujours pas.
 
J'ai, dans la feuil1, déclaré mes variables publiques. J'ai placé la fonction publique dans le module.  
 
J'appelle cette fonction depuis la feuil1 mais lorsqu'il exécute les calculs dans le module, la valeur des variables n'est pas attribuée (empty).

Reply

Marsh Posté le 25-10-2013 à 16:15:43    

il faut que tu déclares ta variable dans le module, avant ta fonction.


Message édité par Takama13 le 25-10-2013 à 16:16:03
Reply

Sujets relatifs:

Leave a Replay

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