comment fermer un fichier ouvert via vba ?

assniok

XLDnaute Occasionnel
Bonjour a tout le forum :)

j'ai besoin d'aide pour finaliser un bouton :D

Donc j'ai ce bouton qui me permet d'ouvrir un fichier excel a partir de mon fichier principal, de copier des données de ce fichier dans le presse papier puis de les coller dans mon fichier principal.

ce que je n'arrive pas a faire, c'est de refermer le fichier ouvert de façon a n'avoir que mon fichier principal d'ouvert...

Code:
Private Sub Bouton2_Click()
With Me.Listbox1
    For i = 0 To Me.Listbox1.ListCount - 1
        If .Selected(i) Then
        On Error Resume Next
            Workbooks.Open (path & .List(i))
    DerligneI = Range("I65536").End(xlUp).Row
    Range("H2:I" & DerligneI).Select
    Selection.Copy
    Windows("monfichier.xls").Activate
    Sheets("Test").Select
    Range("H2").Select
    ActiveSheet.Paste
            If Err <> 0 Then
                MsgBox "ça ne sert a rien d'ouvrir deux fois le même fichier !"
                On Error GoTo 0
            End If
        End If
    Next i
End With
End Sub

Par la meme occasion, si vous voyez des erreurs ou des simplifications de mon code, etant novice, je suis preneur ;)

Merci de votre aide
@+
 

assniok

XLDnaute Occasionnel
Re : comment fermer un fichier ouvert via vba ?

bonsoir,

je n'y suis pas arrivé avec la solution de PMO2, cependant je me suis re penché sur la proposition de Pierrot93 car c'est celle qui me semble la plus logique et la plus simple...

et ça fonctionne en mettant le monfichier.close false juste avant le If err .... et en supprimant les alertes concernant le presse papier :)

merci a tous ;)
 

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote