Fermer une feuille excel précise

masterpopeye Messages postés 27 Date d'inscription lundi 8 octobre 2007 Statut Membre Dernière intervention 11 décembre 2007 - 11 déc. 2007 à 12:48
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 - 12 déc. 2007 à 01:16
Bonjour à tous,
Voila plusieurs heures que je m'arrache les cheveux (le peux qu'il en reste).
 J'aimerais trouver le moyen de tester à partir de VB6 si une feuille excel précise est ouverte et la fermer le cas échéant.
J'ai trouvé le test isopen mais je n'arrive pas à le faire fonctionner.
Désolé si cette question peut parraitre stupide mais je suis encore débutant en vb.
Merci de vos réponses

Masterpopeye

4 réponses

MATHOD Messages postés 20 Date d'inscription mardi 28 septembre 2004 Statut Membre Dernière intervention 22 mai 2008
11 déc. 2007 à 13:03
Bonjour,
j'ai eu à rendre invisible des feuilles...ce qui revient à peu près au m^me...

mais je ne comprend pas le terme de 'fermer' une feuille ?


 


du moins l'utilité...puisqu'on passe de l'une àl'autre selon nos besoins


il suffit d'activer une feuille pour que les autres soient 'en arrière', mais 'fermer', je ne saisie pas trop ?!...


si tu peux m'expliquer plus en détail...


par contre  WorkSheets("nom de la feuille").visible =false


le fait très bien...et peut se tester pour la rendre visible à nouveau...etc...


 


a+


 
masterpopeye Messages postés 27 Date d'inscription lundi 8 octobre 2007 Statut Membre Dernière intervention 11 décembre 2007 1
11 déc. 2007 à 14:53
Désolé je me suis mal exprimé par feuille je voulais dire fichier donc le classeur tout entier
comme on dit je penses bien et j'écris mal ;-)

Masterpopeye
MATHOD Messages postés 20 Date d'inscription mardi 28 septembre 2004 Statut Membre Dernière intervention 22 mai 2008
11 déc. 2007 à 17:09
ah ! c'est plus hard !
à mon avis il faut faire une gestion d'erreur complète...
voir les instructions raise et on error
en fait tu encadres l'ouverture de ta 'feuille' (open)
par une gestion d'erreur qui te rend un code erreur...
il faut 'trapper' ce code et agir en conséquence,

je suis sur que tu trouveras çà sur ce forum...

cherche à : gestion d'erreur ou open de fichier...
c'est tout ce que je peut te dire...
a+
cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
12 déc. 2007 à 01:16
Si tu travailles vraiment sous VB6, tu dois probablement avoir créé des objets Application, Workbook et/ou Worksheet

Tu pourrais probablement parcourir la collection des WorkbookS et voir si le classeur est ouvert ou non.

Quelque chose comme
For Each objBook in xlApp.Workbooks
    If objBook = "Le nom que tu cherches" then
       objBook.Close
    End if
Next

Ça, c'est valable pour les classeurs qui ont été ouverts dans ton application (ta variable Excel.Application). Si le fichier peut être ouvert dans une autre session, il faudrait savoir...

MPi²
Rejoignez-nous