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 :
Je rajoute à la feuille courante les données que je lis dans le fichier, lorsque la ligne est bonne (flag "BON").
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 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
Partager