cs_thier_94
Messages postés2Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention27 décembre 2005
-
27 déc. 2005 à 13:39
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDerniè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
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 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.
cs_chapata
Messages postés214Date d'inscriptionmercredi 2 février 2005StatutMembreDernière intervention 9 avril 20105 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 ...
cs_thier_94
Messages postés2Date d'inscriptionmardi 9 novembre 2004StatutMembreDernière intervention27 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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_chapata
Messages postés214Date d'inscriptionmercredi 2 février 2005StatutMembreDernière intervention 9 avril 20105 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.
crenaud76
Messages postés4172Date d'inscriptionmercredi 30 juillet 2003StatutMembreDernière intervention 9 juin 200628 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 !!"