Bonjour à vous tous.

Je vous écris pour vous demander votre avis concernant un algorithme que je viens d'écrire concernant la sauvegarde et la restauration du "pseudo-contexte" d'une fonction/routine en VB.

En fait, il s'agit de concerver les informations à propos de "quel classeur et quel(s) feuille(s) étaient activées avant l'appel de la fonction".

J'ai écris cet algo dans l'optique d'obtenir un code plus facilement maintenable. Mais n'ayant encore que peu de connaissances en VB (J'ai plutôt été formé à l'origine en C et Java), je ne sais pas si ceci est vraiment une bonne idée au final, et c'est pourquoi j'aurais besoin d'avis de personnes qui s'y connaissent mieux que moi ...

Bref, voici l'algo, merci pour l'attention que vous y porterez, si vous avez des questions par rapport à mes choix, n'hésitez pas à me les poser.

Cordialement,
Pierre
PS : Si vous préférez que avoir une version PDF de l'algo, dites-le moi.

Type Pseudo_Contexte :
a. Trois booléens :
i. Changement_classeur,
ii. Changement_feuille1,
iii. Changement_feuille2.
b. Trois chaines :
i. Classeur_origine,
ii. Feuille_origine1,
iii. Feuille_origine2



1. Déclaration d’un type Pseudo_Contexte à l’ouverture.

2. Lors de l’ouverture, si le classeur activé est le bon, alors
a. Mettre Changement_classeur et Changement_feuille1 à faux.
b. Sinon :
• Mettre Changement_classeur à vrai,
• Stocker dans Classeur_origine le nom du classeur actuellement activé,
• Mettre Changement_feuille1 à vrai,
• Stocker dans Feuille_origine1 le nom de la feuille actuellement activée,
• Activer le classeur nécessaire à la fonction/routine.

3. Lors de l’ouverture, si la feuille activée est la bonne, alors
a. Mettre Changement_feuille2 à faux.
b. Sinon :
• Mettre Changement_feuille2 à vrai,
• Stocker dans Feuille_origine2 le nom de la feuille actuellement activé,
• Activer la feuille nécessaire à la fonction/routine.

4. Exécution de la fonction/routine.

5. Lors de la fermeture, si Changement_feuille2 est à vrai,
a. Alors pour chaque feuille :
• Si celle-ci est du même nom que celui stocké dans Feuille_origine2 alors :
1. Ouvrir cette feuille,
2. Mettre Changement_feuille2 à faux.
b. Si Changement_feuille2 est à vrai alors :
• Indiquer que la feuille sauvegardée à l’ouverture de la fonction n’a pas été retrouvée,
• Ouvrir la première feuille du classeur.

6. Lors de la fermeture, si Changement_classeur est à vrai,
a. Alors activer le classeur dont le nom est stocké dans Classeur_origine.
b. Si Changement_feuille1 est à vrai :
• Alors pour chaque feuille :
1. Si celle-ci est du même nom que celui stocké dans Feuille_origine1 alors :
a. Ouvrir cette feuille,
b. Mettre Changement_feuille1 à faux,
• Si Changement_feuille1 est à vrai alors :
1. Indiquer que la feuille sauvegardée à l’ouverture de la fonction n’a pas été retrouvée,
2. Ouvrir la première feuille du classeur.