Ouvrir fichier // Condition

skun

XLDnaute Occasionnel
Bonjour,

j'utilise une macro "Macro1" qui ouvre un fichier Excel "Alpha" , et lance une macro "Rangement". Macro1 est lancée par un bouton (formulaire)
Cependant, j'aimerai rajouter au code actuel, une condition:

si le classeur "Alpha" est déjà ouvert, alors la "Macro1" ne peut pas se déclancher meme si l'utilisateur clique sur le bouton de lancement.

Voici le code actuel:

Code:
Sub Macro1()

Workbooks.Open "E:\Test\Alpha.xls"
Windows("Alpha.xls").Activate
Application.Run "Rangement"
Windows("Fueilledebase.xls").Activate
End Sub

je vous remercie d'avance


skun
 

mromain

XLDnaute Barbatruc
Re : Ouvrir fichier // Condition

bonjour skun,

une solution pas très propre, mais qui devrai marcher :
Code:
Sub Macro1()
On Error Resume Next
Workbooks.Open "E:\Test\Alpha.xls"
Windows("Alpha.xls").Activate
Application.Run "Rangement"
Windows("Fueilledebase.xls").Activate
On Error GoTo 0
End Sub

a+
 

skun

XLDnaute Occasionnel
Re : Ouvrir fichier // Condition

plop !

merci pour ta réponse !

alors j'ai essayé , mais ca lance quand meme l'ouverture du fichier, ca me dit qu'il est déjà ouvert mais ca lance la macro et donc ca bug :-(

merci quand meme !


skun
 

mromain

XLDnaute Barbatruc
Re : Ouvrir fichier // Condition

re bonjour

un autre essai :
Code:
private Function ClasseurDejaOuvert(nomClasseur As String) As Boolean
ClasseurDejaOuvert = False
For Each wbk In Application.Workbooks
    If wbk.Name = nomClasseur Then ClasseurDejaOuvert = True
Next
End Function

Sub Macro1()
[B]If Not ClasseurDejaOuvert("Alpha.xls") Then [/B]Workbooks.Open "E:\Test\Alpha.xls"
Windows("Alpha.xls").Activate
Application.Run "Rangement"
Windows("Fueilledebase.xls").Activate
End Sub

a+
 

Discussions similaires

Statistiques des forums

Discussions
312 488
Messages
2 088 838
Membres
103 972
dernier inscrit
steeter