Ne pas ouvrir un classeur déja ouvert

alexane

XLDnaute Occasionnel
Bonjour à tous
J'ai une procédure qui ouvre un fichier source et un cible en vue d'un traitement
Je cherche l'instruction me permettant de ne pas rouvrir le classeur source s'il est deja ouvert
Merci
 

tototiti2008

XLDnaute Barbatruc
Re : Ne pas ouvrir un classeur déja ouvert

Bonjour alexane,

Déjà ouvert, ça veut dire :
1) Déja ouvert dans le même Excel que ta macro
ou
2) Déjà ouvert sur n'importe quel Excel de cet ordinateur
ou
3) Déjà ouvert par un utlisateur du réseau qui a accès à ce fichier
 

Pierrot93

XLDnaute Barbatruc
Re : Ne pas ouvrir un classeur déja ouvert

Bonjour Alexane, Toto:)

si déja ouvert dans la même instance d'excel devrait pas posé de problème, enfin me semble t-il... si dans une 2ème instance, testé peut être si du coup il ne s'ouvre pas en lecture seule :
Code:
If Workbooks("classeur.xls").ReadOnly Then MsgBox "classeur déjà ouvert"
bon après midi
@+
 

Bobmor

XLDnaute Nouveau
Re : Ne pas ouvrir un classeur déja ouvert

Bonjour à tous,

Si le fichier source est déjà ouvert, Excel va proposer de le rouvrir en écrasant la première instance d'ou une perte éventuelle des mise à jour et un temps de traitement supplémentaire.
 

Pierrot93

XLDnaute Barbatruc
Re : Ne pas ouvrir un classeur déja ouvert

Re,

Excel va proposer de le rouvrir en écrasant la première instance
écraser une instance ?? dans quel cas on se trouve, là ??
pour tester si un classeur est ouvert dans la même instance de l'appli Excel..
Code:
Sub TestClasseurExiste()
Dim nomClasseur As String
nomClasseur = "classeur2.xls"
If Not ClasseurExiste(nomClasseur) Is Nothing Then MsgBox "OK"
End Sub
Function ClasseurExiste(c As String) As Workbook
On Error Resume Next
Set ClasseurExiste = Workbooks(c)
End Function
 

Discussions similaires

  • Question
Microsoft 365 XLOOKUP
Réponses
8
Affichages
457

Statistiques des forums

Discussions
312 490
Messages
2 088 877
Membres
103 981
dernier inscrit
vinsalcatraz