Bonjour tout le monde,
J'ai mis un code VBA pour exploiter un TCD qui s'actualise quand je change la date dans le segment , et dans un tableau à coté via le code VBA je récupère la date filtrée et le nombre de "Numéro" qui ont subit que l'opération "C1".
mon code marche très bien (j'ai même ajouter un code dans la feuille du TCD pour lancer la macro si actualisation)sauf qu'il met du temps (dans cet exemple je n'ai pas beaucoup de ligne mais dans le fichier sur lequel je vais appliquer j'ai plusque 100000 lignes...).
Je vous serez reconnaissante si vous me proposer une amélioration à mon code afin que je puisse gagner du temps ;![]()
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
46
47
48
49
50 Sub nbrop() Application.ScreenUpdating = False Dim i As Integer Dim j As Integer Dim k As Integer Dim L As Integer Dim compteur As Integer Dim valdate As Boolean i = 9 j = 2 k = 9 L = 9 compteur = 0 Sheets("NBR OP").Select Sheets("NBR OP").Range("J2:J50").Select Sheets("NBR OP").Range("J2:J50").Clear Sheets("NBR OP").Range("K2:K50").Clear While i < 36 And j < 36 valdate = IsDate(Sheets("NBR OP").Cells(i, 1).Value) If valdate = True Then Sheets("NBR OP").Cells(j, 10) = Sheets("NBR OP").Cells(i, 1).Value L = 9 compteur = 0 While L < 20000 If Sheets("NBR OP").Cells(L, 1).Value = Sheets("NBR OP").Cells(j, 10).Value And Sheets("NBR OP").Cells(L, 2).Value <> "" And Sheets("NBR OP").Cells(L, 3).Value = "" And Sheets("NBR OP").Cells(L, 4).Value = "" Then compteur = compteur + 1 L = L + 1 Wend Sheets("NBR OP").Cells(j, 11) = compteur i = i + 1 j = j + 1 ElseIf valdate = False Then Exit Sub End If Wend End Sub
Ci-joint le fichier Excel.
Très bonne journéeexemple.xlsmexemple.xlsm
Partager