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 5
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 5
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 5
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
Rejoignez-nous