Garder les variables d'une macro tant que le fichier Excel est ouvert

Bonjour,

J'ai cherché sur le web comment garder la valeur de certaines variables de mon programme vba et ceci tant que mon fichier excel contenant la macro reste ouvert et je n'ai pas trouvé.

J'ai trouvé les conseils d'utiliser "public", "static", "garder dans un des onglets du fichier excel les valeurs". J'ai essayé, soit cela ne fonctionnait pas, soit cela ne convenait pas à ma demande

Ce que je veux c'est que lorsque l'on referme le fichier, toutes les variables repassent a "zéro" ou "false" mais tant que le fichier reste ouvert certaines variables gardent leur dernière valeur. Exemple :

- Etape 1 : J'ouvre mon fichier Z et je fais tourner la macro X qui met une valeur Y à 3. La macro s’arrête (je sors de la macro), je ne ferme pas mon fichier Z

- Etape 2 : Je redémarre la macro X et je teste la valeur Y (je veux qu'elle soit à 3) (dans mes essais elle repasse à 0)

Etape 3. Je ferme le fichier Z et je l'ouvre de nouveau. Je redémarre la macro X et je teste la valeur de Y (je veux qu'elle soit à 0)

Bonjour Micmond

Et pourquoi ne pas faire l'inscription des valeurs à mémoriser dans une feuille masquée

Et à la fermeture du classeur on réinitialise ces valeurs

@+

bonjour,

edit : salut BrunoM45

pour cela tu définis dans en début de module , en dehors de tes subs, les variables dont tu veux garder le contenu soit avec dim soit avec public, soit avec global.

Bonjour,

Merci pour vos retours rapides

Mes réponses

A BrunoM45 : Je ferme manuellement mon fichier excel et à n'importe quel moment. je ne peux donc pas écrire de sous-programme pour réinitialiser les valeurs

A H2so4 : J'avais déjà essayé Public et Dim==> ne fonctionne pas

J'ai essayé Global ===> Ne fonctionne pas

Bonjour micmond

Bonjour,

A BrunoM45 : Je ferme manuellement mon fichier excel et à n'importe quel moment. je ne peux donc pas écrire de sous-programme pour réinitialiser les valeurs

Bien sûr que si avec l'évènement BeforeClose de l'objet Workbook

Voilà un fichier exemple

@+

Bonjour,

je te mets un exemple qui selon moi fonctionne. une variable globale a, 3 macros ayant chacune son bouton. (une pour ajouter 1 à a, une pour multiplier a par lui même et une pour afficher le résultat). la valeur de a évolue selon le bouton pressé jusqu'à fermeture du classeur.

je serais curieux de voir tes essais qui ne fonctionnent pas.

Bonjour,

Merci pour vos nouveaux retours toujours aussi rapides

Mes réponses

A BrunoM45 et A H2so4 :

Vos programmes fonctionnent. Je vais analyser le mien en comparant mon programme aux vôtres pour que le mien fonctionne aussi et je vous dirais les résultats dans quelques jours je pense

Je vous remercie

Rechercher des sujets similaires à "garder variables macro tant que fichier ouvert"