conseil pour gérer l'ouverture de fichiers

  • Initiateur de la discussion Initiateur de la discussion elisa27
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

E

elisa27

Guest
Bonsoir,

Voici mon problème :
L'utilisateur utilise une macro dans laquelle il y a ouverture en lecture seule d'un fichier qui est déjà ouvert sur son poste.
Il a donc un message:
"xxx.xls est déjà ouvert. Si vous l'ouvrez à nouveau toutes vos modifications seront perdues. Voulez vous rouvrir xxx.xls oui non "

Quel code puis je utiliser pour que "non" soit valider et que la macro se poursuive normalement ?

Merci d'avance pour votre aide
 
Re : conseil pour gérer l'ouverture de fichiers

Bonsoir Elisa27,

La meilleure solution est d'ouvrir le fichier seulement s'il n'est pas déjà ouvert.

Voyez ce code :

Code:
Sub Test()
Dim nomfich$, chemin$
nomfich = "Toto.xls" 'à adapter
chemin = "C:\xxx\yyy\zzz\" 'à adapter
On Error Resume Next
If IsError(Workbooks(nomfich).Name) Then Workbooks.Open chemin & nomfich
On Error GoTo 0
'---suite du code---
End Sub

Edit : salut Macpoy, avec votre solution le fichier sera toujours (ré)ouvert.

A+
 
Dernière édition:
Re : conseil pour gérer l'ouverture de fichiers

Merci Macpoy et Job.
Macpoy en utilisant on error resume next la macro se poursuit ensuite normalement mais il y encore la possibilité de valider le message par oui ce que je ne veux pas.
Job dans ton exemple si un autre utilisateur utilise le fichier, si j'ai bien compris, le fichier n'est pas ouvert en lecture seule ce que je voudrai tout de même
 
Re : conseil pour gérer l'ouverture de fichiers

Re,

Job dans ton exemple si un autre utilisateur utilise le fichier, si j'ai bien compris, le fichier n'est pas ouvert en lecture seule (...)

Je crois que si, il s'ouvre en lecture seule, du moins d'après ce que j'ai compris sur les fichiers partagés.

Mais je ne suis pas expert dans ce domaine, alors testez par vous-même.

A+
 
Re : conseil pour gérer l'ouverture de fichiers

ok Job mais dans un autre cas de figure où j'ouvre le fichier en écriture j'ai besoin que le fichier (qui est en cours d'utilisation sur un autre poste) ne s'ouvre pas. Quel code puis utiliser dans ce cas là pour détecter l'utilisation et ne pas l'ouvrir ?

Merci d'avance
 
Re : conseil pour gérer l'ouverture de fichiers

Re,

Pas trop compris, mais si vous ne voulez pas que le fichier s'ouvre en lecture seule, utilisez le code :

Code:
If Workbooks(nomfichier).ReadOnly Then
  Workbooks(nomfichier).Close False
  Exit Sub
End If

Bien sûr l'exécution de ce code peut (et doit) être soumis à un test.

A+
 
Re : conseil pour gérer l'ouverture de fichiers

Bonsoir elisa27, Jacques, job,

Excel n'est pas par nature un programme multi-utilisateurs même si quelques solutions (restreintes) sont permises. (jusqu'à 2003 au moins)

Je n'ai plus de réseau à disposition pour tester mais j'ai peur que l'on risque de tourner en rond....

Peux-tu préciser le but final.... qui fait quoi et quand ???

Jean-Pierre
 
Re : conseil pour gérer l'ouverture de fichiers

1er cas de figure:
un utilisateur lance une macro qui ouvre un 2ème fichier en lecture seule mais ce fichier est déjà ouvert sur son poste. Comment gérer le conflit en gardant le 2ème fichier déjà ouvert tel quel et en continuant la macro (qui ne fait que copier des informations pour les coller dans le 1er fichier qui lance la macro)
2 ème cas de figure:
un utilisateur lance une macro sur un 1er fichier qui ouvre en écriture un 2ème fichier (des info du 1er fichier sont copiées sur le 2ème). Si le 2ème fichier est utilisé sur un autre poste du réseau comment gérer le conflit (par exemple détecter que le 2ème fichier est en cours d'utilisation et ne pas l'ouvrir accompagné d'un message)

Merci d'avance
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

S
Réponses
1
Affichages
1 K
S
R
Réponses
0
Affichages
3 K
R
B
Réponses
1
Affichages
7 K
BretonBeurre
B
Y
  • Question Question
Réponses
4
Affichages
1 K
YesWeExcel
Y
Retour