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 :
je ne sais pas du tout quoi faire ^^'
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
Merci de m'aider
Cordialement
Partager