Fermer un autre fichier vba

trustpol Messages postés 36 Date d'inscription   Statut Membre Dernière intervention   -  
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   -
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
A voir également:

2 réponses

Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
Bonjour,

Il ne faut pas mettre l'action d'ouvrir et de fermer le fichier dans la même procédure.

;o)

polux
0
trustpol Messages postés 36 Date d'inscription   Statut Membre Dernière intervention  
 
re

on peut mettre les deux dans la meme procédure

mais je n'arrive pas a remettre ma variable dans le nom du fichier a fermer

sa doit etre un probleme de paranthese ou de guillement.
0
Polux31 Messages postés 6917 Date d'inscription   Statut Membre Dernière intervention   1 204
 
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
0