Rapport de message :*
 

Re: Comment tester si un fichier excel est déjà ouvert dans une macro

Titre du sujet : Re: Comment tester si un fichier excel est déjà ouvert dans une macro
par Guy le 15/02/2011 23:35:55

Bonjour Michel_m, Basket, Didier, le forum,

Précisions :

Effectivement la fonction citée teste l'ouverture du classeur passé en argument mais dans l'instance actuelle (où s'exécute le code) d'Excel. En d'autres termes cette fonction informe sur la présence du classeur F dans la collection des classeurs de l'instance (Workbooks) cependant il est tout à fait possible que le classeur F soit ouvert dans une autre instance d'Excel auquel cas la fonction retourne Faux pour l'instance actuelle alors que le classeur est effectivement (Vrai) ouvert ailleurs.

Voilà pourquoi dans le bout de code fourni le test s'effectue sur une nouvelle instance d'Excel pour assurer un test sur l'ensemble du poste (system wide).

Pour répondre à la note de Basket qui n'arrive pas à faire rouler le bout de code soumis deux choses:
  1. Il est fortement indiqué de poser Option Explicit dans l'en-tête de tous les modules et que le code une fois copié n'ait pas fonctionné indique que des variables ont été déclarées à la volée... malsain et contre-indiqué (plus là-dessus sur demande).
  2. Citation :
    sans ces"option et Dim" et ça marche finement
    justement! C'est que ça marche sur une béquille. Il serait indiqué de fournir un classeur portant le code qu'on y jette un oeil attentif.

Cordialemement,

Guy