Bonjour à toutes et à tous,
Je suis actuellement en train de travailler sur un outils pour mon boulot qui doit ouvrir successivement un certains nombre de fichiers, les traiter, puis les refermer.
Mon problème est le suivant :
- Le traitement se fait
- Je ferme mon classeur
- Je réouvre mon classeur
- S'ouvre avec lui le dernier fichier qui avait été traité auparavant
Bien évidemment je ne veux pas que ce fichier s'ouvre...
Je pense donc que je me suis emmêlé dans mes fermetures et voici donc mon code (nettoyé des choses inutiles...) :
En espérant avoir une aide de votre part.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33 Option Explicit Dim xlApp As New Excel.Application ' déclarer Public si dans un module Dim xlBook As New Excel.Workbook Dim xlSheet As New Excel.Worksheet Sub TraitementPartI() ' Traitement pour la première partie Dim Plage As Range Dim Fichier As String Dim i As Integer Fichier = Dir(ThisWorkbook.Path & "\Copie*.xls") ' Sélectionne tous les fichiers formulaires ' Traitement pour chaque fichier - DEBUT Do While Len(Fichier) > 0 Set xlBook = xlApp.Workbooks.Open(ThisWorkbook.Path & "\" & Fichier) ' Ouverture du fichier Set xlSheet = xlBook.Sheets("Questionnaire") ' Sélection de la feuille Questionnaire With xlSheet '[Blabla inutile ici...] Fichier = Dir() xlBook.Close ' Fermeture du fichier xlApp.Quit ' Fermeture d'Excel Set xlSheet = Nothing Set xlBook = Nothing Set xlApp = Nothing Loop 'Traitement pour chaque fichier - FIN MsgBox ("Traitement terminé.") End Sub
Cordialement...
Partager