Fermeture fichier Excel

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 !

Sly le globe trotter

XLDnaute Occasionnel
Bonjour à tous,

Grâce à des recherches sur ce forum, j'ai pu développer le bout de code qui me permet de copier dans un classeur ouvert des données présentes dans des fichiers fermés.

Code:
Private Sub RgptEval_Click()

Dim fso As Object, Dossier As Object, NomDossier
Dim Files As Object, File As Object, i, k As Integer
Dim xls As New Excel.Application
Dim FeuilleSource As Excel.Worksheet, FeuilleCible As Excel.Worksheet

Set fso = CreateObject("Scripting.FileSystemObject")
Set Dossier = fso.getfolder(ThisWorkbook.Path)
    
Set Files = Dossier.Files
k = 3
If Files.Count <> 0 Then
    For Each File In Files
        If File.Name <> "Synthèse Evaluation Formation.xlsm" And File.Name <> "~$Synthèse Evaluation Formation.xlsm" Then

            Set FeuilleSource = xls.Workbooks.Open(File.Path).Worksheets("Eval")
            Set FeuilleCible = ActiveWorkbook.Worksheets("RgptEval")
            
            With FeuilleSource
                .Range(.Cells(22, 9), .Cells(43, 9)).Copy
            End With

            With FeuilleCible
                .Range(.Cells(6, k), .Cells(27, k)).Select
                Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks:=False
            End With

            Set xls = Nothing
            Set FeuilleSource = Nothing
            Set FeuilleCible = Nothing
            xls.Quit
        
            k = k + 3
        End If
    Next
End If

Set fso = Nothing
Set Dossier = Nothing

end sub

Petit problème, les fichiers que j'ouvre via
Code:
Set FeuilleSource = xls.Workbooks.Open(File.Path).Worksheets("Eval")
ne sont pas refermés... Quel est le protocole à suivre pour fermer un tel fichier ?

Merci pour votre aide !
Sly
 
Re : Fermeture fichier Excel

Re

essaye ainsi :

Code:
FeuilleSource.Close

au cas ou, tu peux utiliser l'argument "savechanges", pour enregistrer les modifications ou pas, comme tu le souhaites...

bon après midi
@+

Edition : ta variable "FeuilleSource" doit être un classeur..
 
Dernière édition:
Re : Fermeture fichier Excel

Re,

On ne peut fermer une feuille mais un classeur... et ta variable "FeuilleSource" est une feuille de calcul d'un classeur "x", on utilise donc la propriété "parent" de la feuille qui représente son classeur pour le fermer...
 
- 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
4
Affichages
217
Réponses
5
Affichages
301
  • Question Question
Microsoft 365 worksheet_change
Réponses
29
Affichages
544
Réponses
4
Affichages
483
Retour