Vérifier si fichier excel ouvert
Résolu/Fermé
A voir également:
- Vérifier si fichier excel ouvert
- Fichier rar - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans system - Guide
- Si et excel - Guide
- Liste déroulante excel - Guide
- Fichier host - Guide
3 réponses
eriiic
Messages postés
24600
Date d'inscription
mardi 11 septembre 2007
Statut
Contributeur
Dernière intervention
21 octobre 2024
7 239
12 sept. 2011 à 11:05
12 sept. 2011 à 11:05
Bonjour,
Tu peux générer et gérer l'erreur :
eric
Tu peux générer et gérer l'erreur :
fich = "D:\tmp\test.xls" On Error Resume Next If IsError(s = Workbooks("test.xls").Name) Then On Error GoTo 0 Application.Workbooks.Open Filename:=fich, ReadOnly:=True End If On Error GoTo 0
eric
je ne vais pas pouvoir vous répondre si ça fonctionne de suite car on m'a donné d'autre priorité
je vous tiens au courant, je le ferai les essais au calme pour éviter les bêtises
je vous tiens au courant, je le ferai les essais au calme pour éviter les bêtises
bon j'ai découvert un truc qui a faussé mon premier essai.
initialement je faisais une boucle sur chaque feuille de ma base de données en regardant si le contenu de la cellule A1 correspondait à la feuille que je cherchais.
sauf que j'avais changé avant ce post en introduisant uen fonction qui me permet de faire cette recherche de feuille directement sur le nom de la feuille. Mais avec cette fonction faut impérativement que les majuscules soient respectées sinon message indiquant que la feuille n'existe pas.
voilà pourquoi ta proposition me mettait systématiquement ce message mais ça n'avait rien à voir avec ta solution.
donc je vais revenir au statut initial et je testerai vos 2 propositions en vous donnant le résultat
initialement je faisais une boucle sur chaque feuille de ma base de données en regardant si le contenu de la cellule A1 correspondait à la feuille que je cherchais.
sauf que j'avais changé avant ce post en introduisant uen fonction qui me permet de faire cette recherche de feuille directement sur le nom de la feuille. Mais avec cette fonction faut impérativement que les majuscules soient respectées sinon message indiquant que la feuille n'existe pas.
voilà pourquoi ta proposition me mettait systématiquement ce message mais ça n'avait rien à voir avec ta solution.
donc je vais revenir au statut initial et je testerai vos 2 propositions en vous donnant le résultat
Bonjour,
de retour après essai et ça fonctionne avec ta proposition eriiic.
j'ai simplement rajouté
Workbooks("monfichier.xlsm").Activate après
On Error GoTo 0
concrètement je gagne 36 secondes à chaque nouvelle recherche vu que j'ai chronométré le temps d'accès entre la lancement de la recherche et la possibilité d'utiliser ma base de données. ça prend 36 secondes
par curiosit&é j'ai testé la différence entre la recherche direct sur le nom de la feuille (36s) et avec l'ancienne méthode en lisant le contenu de chaque cellule A1 et ça prend 51s ... gain de temps indéniable
Merci à vous pour votre aide
de retour après essai et ça fonctionne avec ta proposition eriiic.
j'ai simplement rajouté
Workbooks("monfichier.xlsm").Activate après
On Error GoTo 0
concrètement je gagne 36 secondes à chaque nouvelle recherche vu que j'ai chronométré le temps d'accès entre la lancement de la recherche et la possibilité d'utiliser ma base de données. ça prend 36 secondes
par curiosit&é j'ai testé la différence entre la recherche direct sur le nom de la feuille (36s) et avec l'ancienne méthode en lisant le contenu de chaque cellule A1 et ça prend 51s ... gain de temps indéniable
Merci à vous pour votre aide
12 sept. 2011 à 11:41
j'avais tenté de contourner ça avec la gestion d'erreur mais je n'ai aucune erreur, je pense que ça doit venir du fait que je lui impose la lecture seule. au début je n'imposais pas la lecture seule et effectivement j'avais une erreur qui se déclenchait si la base était ouverte, là ce n'est plus le cas :-(
Modifié par eriiic le 12/09/2011 à 11:47
Et en résumé ça marche pour toi ? si oui met en résolu
J'ai testé avant de poster, pour moi c'est ok...
Je déclenche l'erreur si non ouvert avec workbooks("xxx").name, pas en tentant de l'ouvrir
eric
12 sept. 2011 à 12:02
12 sept. 2011 à 12:06
En fait la difficulté vient du fait qu'il y a 2 instances d'excel
trouvé sur un autre forum
12 sept. 2011 à 12:16
Chez moi il me l'ouvrait dans la même session, mais pourquoi pas...
Je dois m'absenter qcq jours encore, mes apparitions ici seront un peu plus rares.
A+ :+)
eric