Fermeture automatique fichier si inactif

antiphot

XLDnaute Occasionnel
Bonjour à toutes et à tous

Voilà, j'ai une macro (de notre excellent Ti) qui ferme automatiquement un fichier au bout d'un certain temps d'inactivité paramétrable.

En tenant compte que l'utilisateur peut avoir plusieurs fichiers excel ouverts en même temps, il est néçessaire de stipuler dans la macro le nom du fichier à fermer de façon à ce que ce soit le bon fichier qui soit fermé.

La difficulté est que le nom de ce fichier change et que la macro doit aller chercher le nom (ici 2006) dans la cellule A1 de la feuille masquée "feries". Seulement lorsque le fichier est inactif, j'ai l'erreur (L'indice n'appartient pas à la sélection). Ce qui est normal

Ma question est donc comment récupérer cette info ?

Ci-joint un fichier exemple

Merci par avance
Amicalement
Philippe
 

Pièces jointes

  • 2006.zip
    14.7 KB · Affichages: 638
  • 2006.zip
    14.7 KB · Affichages: 600
  • 2006.zip
    14.7 KB · Affichages: 621

antiphot

XLDnaute Occasionnel
Re : Fermeture automatique fichier si inactif

Bonjour à toutes et à tous

Je refais simplement monter le post au cas ou ? Si mon explication vous semble confuse ou impréçise, n'hésitez pas à me le signaler.

A bientôt j'espère
Merci par avance
Philippe
 

Eric 45

XLDnaute Occasionnel
Re : Fermeture automatique fichier si inactif

Bonjour à tous
Bonjour Philippe

As tu essayé ceci :

Sheets("feries").Visible = True
With Sheets("feries")
an = .Cells(1, 1)
End With
ActiveWindow.SelectedSheets.Visible = False

je pense que tu n'a pas accès car la feuille n'est pas active (sans essai)

A+
 

antiphot

XLDnaute Occasionnel
Re : Fermeture automatique fichier si inactif

Bonjour Eric 45

Merci pour ta réponse, mais malheureusement cela ne fonctionne pas. Si tu veux, imagine 2 ou trois fichiers excel ouverts. Celui qui est actif à l'écran, n'est pas celui qui contient la macro. Or lorsque la macro de fermeture se déclenche, celle-ci doit fermer le classeur qui contient cette fameuse macro et non pas le classeur actif à l'écran.

Si il suffisait de nommer ce classeur ce serait simple, mais le pb c'est que la macro doit récupérer le nom de ce classeur dans la cellule A1 de la feuille feries du même classeur.

Dans le cas ou il n'y a que le classeur 2006 d'ouvert tout va bien, mais si j'en ai deux ou trois, la macro recherche désespèrement la feuille feries dans la classeur tartempion actif et ne la touvant pas me met (l'indice n'appartient pas à la sélection).

Et moi du coup, je me fais des noeuds au cerveau à trouver une solution.
J'ai essayé un truc style boucler d'abord sur tous les classeurs puis sur chaque feuille mais cela ne fonctionne pas.

Donc quelqu'un a une idée géniale à me proposer (ou un tube d'aspirine) ce serait super.

Philippe
 

jeanpierre

Nous a quitté
Repose en paix
Re : Fermeture automatique fichier si inactif

Bonjour Antiphot, Eric, re le Forum,

J'espère que tu vas avoir une solution à ton problème.

Sinon, poses directement la question à notre ami Ti_ sur son site : VeriTi V 3, le site des amis d'Excel et OOo

C'est toujours un peu difficile de travailler derrière quelqu'un, et lorsque ce ou ces quelqu'un(s), font parti des plus grands, je n'ai même pas besoin de t'expliquer....

Bonne fin de journée.

PS : J'ai pas d'aspirine

Jean-Pierre
 

lupin

XLDnaute Junior
Re : Fermeture automatique fichier si inactif

Salut Antiphot,

Je me demande quel est le code qui déclenche la fermeture du classeur ?

En principe si tu utilises :
ThisWorkbook.Close

ce code est valable non pas sur le classeur actif mais sur celui contenant la macro. Du moins selon les infos que j'ai. (Jamais eu besoin de l'essayer).

Lupin
 

Statistiques des forums

Discussions
312 338
Messages
2 087 397
Membres
103 535
dernier inscrit
moimeme1