Fermer un autre fichier vba
trustpol
Messages postés
36
Statut
Membre
-
Polux31 Messages postés 7219 Statut Membre -
Polux31 Messages postés 7219 Statut Membre -
Bonjour,
j'ai réalise une macro qui me permet d'ouvrir un fichier après avoit mis dans une text box le nom du fichier ( le chemin est toujours le meme)
Cependant je n'aarive pas a le fermer. J'ai dimensionner une variable avec le nom du fichier rentrer par l'utilisateur
coici mon code
Private Sub cmdValider_Click()
Dim fichier as string
fichier = txtSource
'On ouvre le reléve correspondant au fchier indiqué
ChDir "D:\YYY\XXX\2008"
Workbooks.Open Filename:=fichier
'On ferme le relevé
Workbooks(fichier).Close Savechanges:=False ==> cette ligne ne marche pas
End Sub
Mais ca ne marche pas pouvez vous m'aider???
Merci beaucoup
Cordialement
j'ai réalise une macro qui me permet d'ouvrir un fichier après avoit mis dans une text box le nom du fichier ( le chemin est toujours le meme)
Cependant je n'aarive pas a le fermer. J'ai dimensionner une variable avec le nom du fichier rentrer par l'utilisateur
coici mon code
Private Sub cmdValider_Click()
Dim fichier as string
fichier = txtSource
'On ouvre le reléve correspondant au fchier indiqué
ChDir "D:\YYY\XXX\2008"
Workbooks.Open Filename:=fichier
'On ferme le relevé
Workbooks(fichier).Close Savechanges:=False ==> cette ligne ne marche pas
End Sub
Mais ca ne marche pas pouvez vous m'aider???
Merci beaucoup
Cordialement
Configuration: Windows 2003 Internet Explorer 7.0
2 réponses
-
Bonjour,
Il ne faut pas mettre l'action d'ouvrir et de fermer le fichier dans la même procédure.
;o)
polux -
c'est étrange effectivement.
Voilà la procédure que j'utilise pour fermer un fichier, si ça peut t'être utile.Private Sub CloseAppli(ByVal myFile As String) dim ws As Workbook For Each ws In Workbooks If ws.name = myFileThen ws.Close SaveChanges:=False End If Next ws End Sub
On peut aussi faire ça de façon plus générale. On ferme tous les fichiers Excel, sauf celui qui lance la procédure:Private Sub CloseAppli() For Each ws In Workbooks If ws.name <> ThisWorkbook.name Then ws.Close SaveChanges:=False End If Next ws End Sub
Bon courage.
;o)
Polux