Hello je vous expose mon souci.
Je cherche a faire une macro qui prends une valeur dans la colonne a et recherche le nombre de fois que cette valeur est presente dans la colonne g
Mon probleme avec cette macro c'est que dès que j'ai plus de 2000 lignes, ça prend un temps monstrueux.
Comment optimiser ce code pour que les temps de traitement soit de l'ordre de 5 ou 10 min max ?
Merci !!
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 Sub recherche(feuil As String, a As Variant, b As Variant, mac As Variant) hdeb = Timer Sheets(feuil).Select Columns("I:I").Select Selection.ClearContents Columns("b:b").Select Selection.ClearContents Range("b1").Value = "nombre occurrence" y = Range("G65536").End(xlUp).Row x = Range("A65536").End(xlUp).Row Sheets("resultats").Select Range("e" & a & "").Value = x - 1 Range("e" & b & "").Value = y - 1 Sheets(feuil).Select 'recherche presence instrument A dans colonne G compt = 0 tot = 0 For i = 2 To x rech = Range("a" & i & "").Value Range("h1").Value = rech For j = 2 To y If Range("G" & j & "").Value = Range("h1").Value Then tot = tot + 1 Next j compt = compt + 1 Range("h2").Value = compt Range("b" & i & "").Value = tot tot = 0 Next i hfin = Timer]
Partager