Bonjour
Je suis débutant en macro et j'ai un soucis de vitesse avec une macro qui mets une trentaine de seconde à s'exécuter.
En effet je dois faire la somme dans une feuille Excel de 65000 lignes, en fonction de 2 paramètres et il doit me ressortir la durée en heures.
Cette macro fonctionne bien mais mets un temps fort long pour m'afficher les résultats dans mon tableau.
Environ 100 lignes pour 15 colonnes.
Est-il possible d'accélerer la vitesse de cette macro?
Merci pour vos réponses
Voici le code:
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 Sub test() For i = 6 To 160 Step 1 i = 6 For j = 3 To 30 Step 1 If Cells(5, j) = "" Then Exit For End If Cells(i, j) = "=IF(RC2="""","""",IF(SUMPRODUCT(('Poste de travail'!R1C5:R65000C5=RC2)*('Poste de travail'!R1C10:R65000C10=R5C),('Poste de travail'!R1C8:R65000C8))=0,"""",SUMPRODUCT(('Poste de travail'!R1C5:R65000C5=RC2)*('Poste de travail'!R1C10:R65000C10=R5C),('Poste de travail'!R1C8:R65000C8))))" Cells(i, j).Select Selection.Copy Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, _ SkipBlanks:=False, Transpose:=False Next If Cells(i + 1, 2) = "" Then End If Next End Sub
Partager