Bonjour a tous !!

Donc je vous explique mon problème,
j'ai un 1er classeur, (2200 Ko) qui ouvre un 2nd classeur en mode caché quand j'appuie sur un bouton, et fait plein de recherche dedans.(j'ai envieront 14 boutons similaires)
Le deuxième classeur (varie entre 800 Ko et 2400 Ko selon le bouton sur le quel j'appuie) s'ouvre très bien, mais après je ne sais pas ce qui se passe, ma macro met une éternité et dure pendant des heures QUE pour certain classeur (et pas les plus gros)

donc en gros pour un 2em classeur de 2000 Ko ma macro va durée 5min et pour un 2em classeur de 800Ko cela va durée plus de 30min (je coupe au bout d'un moment)

Ma macro est :

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
34
35
36
37
38
39
40
41
42
43
44
45
Sub Macro_Recherche()
 
         Sheets("Feuill1-classeur1").Select
 
  'Ouverture du fichier de prix (en caché)
        Dim xlApp As Object
        Set xlApp = CreateObject("Excel.Application")
        Dim xlWk As Workbook
        Set xlWk = xlApp.Workbooks.Open(Chemin_dossier & Dossier_sources)
        Dim xlWs As Worksheet
        Set xlWs = xlWk.Worksheets(1)
 
    For i = 11 To 81 Step 5
            Dim rngArticle As Range
            Dim myWs As Worksheet
            Set myWs = ThisWorkbook.ActiveSheet
            DerLig = myWs.Cells(Rows.Count, i).End(xlUp).Row
            Set rngArticle = myWs.Range(myWs.Cells(4, i), myWs.Cells(DerLig, i))
 
            'Recherche de l'article dans l'autre fichier
            Dim rngArticleRecherche As Range
            Set rngArticleRecherche = xlWs.Range(xlWs.Range("A2"), xlWs.Range("A65536").End(xlUp)) 'ICI LA COLONNE RECHERCHE
 
            Dim rngRefTrouve As Range
            Dim cell As Range
 
            For Each cell In rngArticle
                    Set rngRefTrouve = rngArticleRecherche.Find(cell.Value, , xlValues, xlWhole)
 
              If rngRefTrouve Is Nothing Then
            Else
                cell.Offset(, 1).Value = rngRefTrouve.Offset(, 6).Value
 
                    End If
            Next
    Next
 
    'Libération des ressources (fermeture du fichier caché)
    Set xlWs = Nothing
    xlWk.Close (False)
    Set xlWk = Nothing
    xlApp.Quit
    Set xlApp = Nothing
 
    End Sub
je ne sais pas du tout quoi faire ^^'
Merci de m'aider

Cordialement