VBA & les Feuilles Excel (n° 1): Vérifier si une Feuille existe


Ceci est la première partie d'une série d'articles qui traitent de la manipulation en VBA des Feuilles d'un Classeur Excel. Dans cette première partie, vous trouverez une fonction VBA très utile – vérification si une Feuille particulière existe dans le Classeur.

VBA – vérifier si une Feuille existe

Pour éviter des erreurs lors d'exécution d'un code VBA, il est préférable de s'assurer que tous les Objets (Classeurs, Feuilles,…) qui doivent être manipulés existent bel et bien. Rien de plus pénible qu'une macro bloqué parce que l'utilisateur a supprimé une des Feuilles requises.

La fonction VBA qui suit teste si la Feuille, dont le nom est utilisé comme argument de la fonction, est présente dans le Classeur. Elle retourne VRAI ou FAUX (ou TRUE / FALSE) en tant que Boolean.

Et voici donc le code de la fonction:

 

Exemple d'utilisation

L'exemple suivant teste si la Feuille "Test_1" est présente dans le Classeur et si oui, la renomme en "Test_2". Si la Feuille n'existe pas, un message est affiché à l'utilisateur.

Attention: pour faire fonctionner cet exemple, vous avez besoins des deux codes VBA (le code de la fonction plus haut & le code de l'exemple qui suit).

 

Évitez les solutions faciles!

Vous allez peut-être trouver cette fonction "longue" par rapport à ce qu'elle fait. Et c'est vrai que sur internet, vous pouvez trouver des solution plus "courtes" mais attention aux solutions trop faciles!

Nombreux fonctions que vous pouvez trouver sur le net utilisent la méthode "directe" – c'est-à-dire activer (Activate) directement la Feuille que l'on veut tester et ensuite vérifier si la fonction fonctionne ou se solde par une erreur. Si la Feuille "MaFeuille" n'existe pas et on fait Sheets("MaFeuille").Activate, cela déclenche une erreur. Et certains utilisent ce déclenchement d'erreur comme preuve que la Feuille en question n'existe pas…

Mais ce n'est vraiment pas une manière professionnelle de créer une programme. Dans des macros / applications VBA plus complexes, cela ne peut que créer des problèmes. Donc, cette solution "miracle" est à éviter si vous voulez produire un travail sérieux et (ré)utilisable…

Pourrait également vous intéresser

Et pour terminer, voici quelques autres articles qui pourraient vous être utiles…

 

2 0

Pourrait vous intéresser

Partagez cette page...
Share on FacebookShare on Google+Share on LinkedInTweet about this on TwitterShare on RedditShare on TumblrDigg thisEmail this to someone

Laissez un commentaire

Votre adresse de messagerie ne sera pas publiée.