Bonjour à tous,

J'ai besoin de récupérer des données se trouvant sur un ensemble de fichier, en un seul fichier, et en effectuant une selection sur les lignes des différents fiuchiers.

Mon code pour récupérer les données d'un fichier est le suivant :
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
 
Sub remplirfeuille(nomfichier As String)
    Dim appExcel As Excel.Application 'Application Excel
    Dim wsExcel As Excel.Worksheet 'Feuille Excel
 
    Set appExcel = CreateObject("Excel.Application")
    Set wbExcel = appExcel.Workbooks.Open(nomfichier)
    Set wsExcel = wbExcel.Worksheets("REMISE EN FORME")
    i = 2
    Do While wbExcel.Worksheets("REMISE EN FORME").Cells(i, 3) <> ""
      If wbExcel.Worksheets("REMISE EN FORME").Cells(i, 1) = "BON" Then
            wbExcel.Worksheets("REMISE EN FORME").Range("A" & i & ":DG" & i).Copy
            Worksheets(1).Range("A" & ligne_courante & ":DG" & ligne_courante).PasteSpecial xlPasteValues
            ligne_courante = ligne_courante + 1
        End If
    i = i + 1
    Loop
End Sub
Je rajoute à la feuille courante les données que je lis dans le fichier, lorsque la ligne est bonne (flag "BON").
Je fais ça sur une 60aine de fichier que je met bout à bout, mais avec mon implémentation c'est très lent.

Yaurait t'il 1 moyen de faire un filtre sur la 1ère colonne sur "BON", et de selectionner puis copier/coller toutes les lignes d'un coup, le tout en vba bien sur?

merci