Garder une valeur de variable d'une procédure à l'autre

mathioustone

XLDnaute Nouveau
Bonjour à tous,

Sur mon programme, j'ai trois fonctions qui sont les suivantes:


•sub worksheet_change(Byval target as range) qui effectue une première saisie
•sub saisie2() qui permet une saisie manuelle des cellules restantes
•sub calcul() qui effectue les calculs selon les infos précédemment remplies

Le problème est le suivant:
j'utilise dans la fonction worksheet_change
i = Target.Row afin d'avoir la ligne sélectionnée => date_travaux = Range("AV" & i)

cependant, la valeur de i disparaît dès que je quitte ma fonction sub worksheet_change...
A quoi celà est dû? puis-je parer ce problème et si oui comment?
Merci de l'attention et bonne continuation
Math'
 
G

Guest

Guest
Re : Garder une valeur de variable d'une procédure à l'autre

Re,

bonjour Fo_rum, nous lui avons dit depuis le début. Je lui ai même fait un classeur exemple avec 3 possibilités. Que peut-on faire d'autre?!

A+
 

Dranreb

XLDnaute Barbatruc
Re : Garder une valeur de variable d'une procédure à l'autre

Bonjour,
Ben en fait d'après ce que j'ai pu voir,
i n'est pas utilisé dans d'autres modules. Donc inutile de le déclarer Public.
i n'est initialisé que par la WorkSheet_Change.
i est déclaré en tête du module
Conclusion: i est forcément altéré par une exécution intempestive de la WorkSheet_Change due à une modification de cellule depuis le code non encadrée par Application.EnableEvents = False et Application.EnableEvents = True
 
G

Guest

Guest
Re : Garder une valeur de variable d'une procédure à l'autre

Re,
Dranreb,
J'en étais arrivé à la même conclusion, mais comme le demandeur se refuse à donner un fichier exemple. Je passe...

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 429
Messages
2 088 349
Membres
103 822
dernier inscrit
kader55