Si fichier fermé, l'ouvrir puis le fermer
Résoluccvr -
Bonjour à tous,
Je rencontre un petit problème :
J'ai 2 fichiers : fichier1 et fichier2
Lorsque j'ouvre le fichier2 je souhaite que si le fichier1 n'est pas déjà ouvert, s'ouvre puis se referme.
J'ai donc trouvé des pistes sur les forums, mais le fichier ne se ferme pas je ne comprends pas . Il s'ouvre mais ne se ferme pas ...
Le voici :
Private Sub Workbook_Open()
Dim Wk As Workbook
On Error Resume Next
Set Wk = Workbooks("C:\Users\clari\Documents\STAGE\Missions\nomenclature\partie 2\fichier1.xlsm")
If Err <> 1 Then
Workbooks.Open Filename:="C:\Users\clari\Documents\STAGE\Missions\nomenclature\partie 2\fichier1.xlsm"
Wk.Close True
End If
End Sub
3 réponses
-
yg_be Messages postés 23437 Date d'inscription Statut Contributeur Dernière intervention Ambassadeur 1 588
bonjour,
Ton "on error resume next" t'empêche de comprendre ton erreur. Tu peux ajouter "on error goto 0" juste après la ligne avec le "if". Ou faire ainsi:
Private Sub Workbook_Open() Dim Wk As Workbook On Error goto pasouvert Set Wk = Workbooks("C:\Users\clari\Documents\STAGE\Missions\nomenclature\partie 2\fichier1.xlsm") exit sub pasouvert: Workbooks.Open Filename:="C:\Users\clari\Documents\STAGE\Missions\nomenclature\partie 2\fichier1.xlsm" Wk.Close True End Sub -
-
-
ce code semble fonctionner.
Cependant, lorsque le fichier1 était déjà ouvert, le code provoque sa rupture
Or s'il était déjà ouvert, je ne veux pas le fermer
Private Sub Workbook_Open()
Dim Wk As Workbook
On Error GoTo pasouvert
Set Wk = Workbooks("C:\Users\clari\Documents\STAGE \Missions\nomenclature\partie 2\fichier1.xlsm")
Exit Sub
pasouvert:
Set Wk = Workbooks.Open("C:\Users\clari\Documents\STAGE\Missions\nomenclature\partie 2\fichier1.xlsm")
Wk.Close savechanges:=True
Set Wk = Nothing
End Submerci pour votre aide :)
Merci de tenir compte de ceci quand tu partages du code: https://codes-sources.commentcamarche.net/faq/11288-poster-un-extrait-de-code
Je suggère ceci, au lieu de ton code en ligne 4:
Set Wk = Workbooks("fichier1.xlsm")
-