Verification si fichier deja ouvert

  • Initiateur de la discussion Initiateur de la discussion aubelix
  • 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 !

aubelix

XLDnaute Impliqué
Bonjour à tous les amis du Forum.

Je reviens une fois de plus vers vous pour vous soumettre mon problème.
J'ai glané sur le Forum ce code pour vérifier si le classeur
"Gestion_Adhérents.xls" est ouvert ou non.
En fonction de son état, je lancez la macro ci-dessous.
Mais je n'arrive pas à lancer l'Userform si le classeur est déjà ouvert.
Où est l'erreur ?

Par avance, merci pour votre aide.
Cordialement.

Sub Extractions()
'Ouverture si pas Ouvert
' activer le fichier ==> sinon l'ouvrir
Workbooks("Gestion_Adhérents.xls").Activate
If Err <> 0 Then
On Error GoTo 0
Workbooks.Open Filename:="C:\Users\PERSO\Documents\Gestion_Adhérents.xls"

If Err <> 0 Then
MsgBox "Le fichier ""Gestion_Adhérents.xls"" est introuvable"

End If

End If
'ici la macro se bloque si le classeur est ouvert et l'userform ne se lance pas 😡
UserForm1.Show
End Sub
 
Re : Verification si fichier deja ouvert

Bonjour

Modifications à tester

Sub Extractions()
'Ouverture si pas Ouvert
' activer le fichier ==> sinon l'ouvrir
Workbooks("Gestion_Adhérents.xls").Activate

If Err <> 0 Then
On Error GoTo 0
Workbooks.Open Filename:="C:\Users\PERSO\Documents\Gestion_Adhére nts.xls"


If Err <> 0 Then
MsgBox "Le fichier ""Gestion_Adhérents.xls"" est introuvable"
exit sub ' pour sortir de la procédure
End If

End If

'ici la macro se bloque si le classeur est ouvert et l'userform ne se lance pas
Workbooks("le fichier de base qui contient l'userform").Activate
UserForm1.Show
End Sub


JP
 
Re : Verification si fichier deja ouvert

Bonjour Jp14 et Skoobi.

Merci pour vos réponses.

Pour répondre à Skoobi, l'UserForm se trouve dans le fichier Gestion_Adhérents.xls

Jp14, la macro se bloque au premier :
Workbooks("Gestion_Adhérents.xls").Activate

J'ai ajouté on error resume next au début de la macro, elle se bloque au deuxième
Workbooks("Gestion_Adhérents.xls").Activate
avant Userform1.show

Merci pour aide.
Cordialement.
 
Re : Verification si fichier deja ouvert

Re,

dans ce cas il faut dans le fichier Gestion_Adhérents.xls créer un module dans lequel tu crés par exemple cette procédure:
Code:
Sub LanceUsf()
Userform1.Show
End Sub
Et dans la macro Extractions, remplace
Code:
Userform1.Show
par
Code:
Application.Run "Gestion_Adhérents.xls!LanceUsf"
 
Re : Verification si fichier deja ouvert

Code:
Private Sub Importer_Click()
Dim classeur As String
classeur = ActiveWorkbook.Name

  Application.ScreenUpdating = False
    
' Ouverture si pas Ouvert
' activer le fichier ==> sinon l'ouvrir
On Error Resume Next
Workbooks("Gestion_Adhérents.xls").Activate
If Err <> 0 Then
On Error GoTo 0
Workbooks.Open "C:\Users\PERSO\Documents\Gestion_Adhérents.xls"


If Err <> 0 Then
MsgBox "Le fichier ""Gestion_Adhérents.xls"" est introuvable"
Exit Sub ' pour sortir de la procédure
End If

End If
'Lancer les userforms
    Windows(classeur).Activate
UserForm1.Show
  Application.ScreenUpdating = True
End Sub

Pas beaucoup de modif, mais il marche chez moi impécablement.
Luinil
 
- 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

Discussions similaires

Réponses
41
Affichages
888
  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
370
Réponses
5
Affichages
703
Retour