VBA: vérifier si un Classeur est ouvert


Lors de l'automatisation d'Excel, il est souvent nécessaire de vérifier si un Classeur est (déjà) ouvert. Cette information peut servir pour savoir si le fichier est disponible ou non pour être "manipulé". Il n'est par exemple pas possible de supprimer un fichier ouvert. Tout comme un Classeur déjà ouvert ne peut être ré-ouvert par un autre utilisateur qu'en "lecture seule".

Ceci est d'autant plus important si vous travaillez en réseau et que les fichiers sont partagés par plusieurs utilisateurs.

Voici donc une fonction qui vérifie si un fichier est ouvert ou non – ou plus précisément si le Classeur est disponible à l'utilisation ou non.  Un Classeur ouvert en "lecture seule" par un autre utilisateur reste disponible à l'utilisation et est donc considéré comme "fermé".

Cette fonction retourne une valeur "Vrai" ou "Faux" (= True ou False) selon si le fichier est déjà ouvert ("occupé") ou non.

La fonction utilise un argument: MonClasseur de type String qui contient le chemin complet du Classeur (par ex.: "C:\Test\MonClasseur.xlsx" ).

Voici donc le code VBA de la fonction prêt à l'emploi ainsi qu'un exemple pratique de son utilisation.

Code VBA de la fonction qui vérifie si un Classeur est (déjà) ouvert

Exemple de l'utilisation (Sub)

Attention: cette fonction ne fonctionne que pour les Classeurs Excel (.xls, .xlsx, .xlsm etc.). Elle ne fonctionnera pas pour d'autres types de fichiers (vidéos, fichiers texte,…).

 

7 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.