Réinitialisation des variables publics

Résolu
cs_thier_94
Messages postés
2
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
27 décembre 2005
- 27 déc. 2005 à 13:39
crenaud76
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
- 28 déc. 2005 à 10:35
je souhaiterai réinitialiser toutes les variables publics utilisées dans une macro excel, pour eviter de me retrouver avec les anciennes faleur en memoire lors du 2eme lancement de ma macro.
existe-t-il une fonction plus simple que de déclarer toutes mes variables et mes tableaux vides les 1 après les autres ?
du genre :

For a = 1 To 15
For b = 1 To 300
For C = 1 To 3
tab(a, b, C)= 0
next c
next b
next a

6 réponses

crenaud76
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
28
27 déc. 2005 à 14:11
Il n'y a pas d'autre solution que de vider les variables une par une.
En fait, la meilleure option (à mon avis) est, non pas de les vider à la fin du traitement, mais plutot de définir leur valeur au début du traitement. En effet, reéinitialiser les variables en fin de fonction, ne garantit pas qu'au prochain retour dans cette fonction, une autre fonction n'aura pas modifier une variable. C'est pourquoi il est à mon avis préférable de s'assurer des valeurs des variables au dernier moment, càd juste avant les traitements.Avec juste une nuance : Si une variable est suceptible d'être utiliser par n fonctions, une fonction peut décider de refixer uen valeur donner à une variables en fin de traitement, pour ces petites copines.
Cette question soulève d'ailleur le pb des variables publiques, qui je le rappelle ne doivent être utilisé qu'en dernier recours.

CR
3
cs_chapata
Messages postés
214
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
9 avril 2010
4
27 déc. 2005 à 13:59
Slut,

pour ma part je vide mes variables une à une à la fin de mon code.

Ce la ne te seras surment pas de grande aide mais, je n'ai pas trouvé d'autres méthodes, alors si vous avez une réponse ... je suis aussi preneur.

ChaPaTa
0
cs_chapata
Messages postés
214
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
9 avril 2010
4
27 déc. 2005 à 14:25
Je suis tout a fait d'accord avec toi crenaud.
Et je n'avais même pas pensé à cette astuce, initialiser le variable au début en y affectant une valeur ...

ChaPaTa
0
cs_thier_94
Messages postés
2
Date d'inscription
mardi 9 novembre 2004
Statut
Membre
Dernière intervention
27 décembre 2005

27 déc. 2005 à 18:42
j'ai utilisé des variables public car je gere differents classeurs excel . ai-je utilisé la bonne methode, en connaissez vous d'autre sachant que je ne ferme pas mon premier fichier excel (donc pas de remise à zero des variables) et que j'ouvre plusieurs autres fichiers et que je les referme tous.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_chapata
Messages postés
214
Date d'inscription
mercredi 2 février 2005
Statut
Membre
Dernière intervention
9 avril 2010
4
28 déc. 2005 à 09:52
Pour ma part, j'utilise aussi pas mal de variable Public, et j'ai insérer la gestion des erreurs au cas ou elle plante pour je ne qu'elle raison. Cette gestion me renvoi à une fonction qui me vide toutes mes variables...

Mais pour revenir à ta question, non je ne connais pas d'autre méthode, surtout si tu fais appel à des formulaires avec des choix multiples.

ChaPaTa
0
crenaud76
Messages postés
4172
Date d'inscription
mercredi 30 juillet 2003
Statut
Membre
Dernière intervention
9 juin 2006
28
28 déc. 2005 à 10:35
Quand je dis qu'il ne faut utiliser les var publique qu'en dernier recours, c'ets un voeux pieux, car en réalité, on est souvent obligé d'en employer, car c'est le seule moyen viable de transmettre des valeurs entre plusieurs modules.
Ce que je voulais simplement dire par la, c'est que l'utilisation d'une var publique nous oblige à bien faire attention à sa valeur avant de s'en servir. Et que dans la mesure du possible on esayera toujours d'employer une var privée au niveau module, voire, encore mieux une var privée au niveau procédure/fonction.
Mais ne nous faisons pas d'illusion, les var publique sont légions dans nos codes, et c'est tout a fait normal. il faut juste ne pas se dire : "J'y connais pas grand chose au niveaux de visibilité des variables, alors je déclares toutes mes var en publiques !!"

CR
0