Bonjour, j'ai encore besoin de votre aide...

je voudrais effectuer un copier-coller de manière optimal (je suis en effet obligé de copier dans mon fichier colonne par colonne)
actuellement, ma boucle reseemble à ça..

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
           For i = 1 To 15 'parcourir chaque colonne du fichier 'changer par longueur de la liste
 
                'Cf fontion FindAddress : on recupère l'adresse de la cellule
 
                'for 1=1..legth (liste_corrspond)
 
                FindAddress Range("A" & FileId), Worksheets("BASE").Range(tabEquiLettre(i) & 1).Value, tabAddress(i)
 
                'MsgBox tabAddress(i) 'afficher l'adresse (debug)
 
                'On vient ensuite ouvrir le fichier pour copier coller ce qui nous interesse
 
                Application.ScreenUpdating = False 'pas de maj de l'ecran (plus perfomant), à commenter en debug
                Application.DisplayAlerts = False
                Workbooks.Open FileName:=Range("A" & FileId).Value 'ouvrir fichier
                Application.DisplayAlerts = True
 
                Set addCopier = Worksheets(1).Range(tabAddress(i)) 'addcopier=cellule titre de la colonne
                addCopier.Select 'selectionner le titre de la colonne'
                Selection.Resize(numRows + 5000).Select 'etendre la selection au 5000 cellule en dessous
                Selection.Offset(1, 0).Select 'enlever le titre de la colonne
                Selection.Copy
                'Destination:=Worksheets("Base").Range(tabEquiLettre(i) & RowStart) 'copier la plage'
                Application.DisplayAlerts = False
                ActiveWorkbook.Close savechanges:=False 'fermer le fichier
                Application.DisplayAlerts = True
                Application.ScreenUpdating = False 'debloque l'écran
                Worksheets("BASE").Range(tabEquiLettre(i) & RowStart).Select  'selectionner le range
                ActiveSheet.Paste 'coller
 
            Next

Mais c'est vraiment pas optimal (environ 1-2 secondes par colonne)
je me rends déjà bien compte que j'ouvre/ferme beaucoup trop mes fichiers

Merci d'avance pour votre aide