Bonjour
Je suis un débutant dans tous ce qui est programmation, je trouve les codes VBA intéressants et pratique car j’utilise beaucoup excel dans mon travail.
j’essai de créer un fichier de collecte de données pour des personnes qui ne sont pas adepte d’outils en bureautique, surtout excel.
j’essai de faire une synthèse dans un tableau qui est dans l’onglet “Dashboard” et qui collecte les information concernant la moyenne de stock, la moyenne de rotation et la disponibilité de 17 produits (l’exemple de code que j’ai fait prend que 2 produits) de cellules qui se trouve sur 12 onglets différents du même classeur, de Janvier à Décembre, Voila le code :
Le code marche cela dit l’exécution est très lente (17 produits), tellement que l’attente est handicapante, c’est due surement au nombreuses lignes de commandes.
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
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118 Sub copy_valeurs_All() Application.ScreenUpdating = False 'I-Pour tous les secteurs All '------------------------------ 'I-1 1er Produit '--------------- 'Format cellule en nombre Range(AD6:AO6).Select Selection.NumberFormat = 0 'Copy moyenne de stock Sheets(Dashboard).Range(AD6) = Sheets(Janvier).Range(F226).Value Sheets(Dashboard).Range(AE6) = Sheets(Fevrier).Range(F226).Value Sheets(Dashboard).Range(AF6) = Sheets(Mars).Range(F226).Value Sheets(Dashboard).Range(AG6) = Sheets(Avril).Range(F226).Value Sheets(Dashboard).Range(AH6) = Sheets(Mai).Range(F226).Value Sheets(Dashboard).Range(AI6) = Sheets(Juin).Range(F226).Value Sheets(Dashboard).Range(AJ6) = Sheets(Juillet).Range(F226).Value Sheets(Dashboard).Range(AK6) = Sheets(Aout).Range(F226).Value Sheets(Dashboard).Range(AL6) = Sheets(Septembre).Range(F226).Value Sheets(Dashboard).Range(AM6) = Sheets(Octobre).Range(F226).Value Sheets(Dashboard).Range(AN6) = Sheets(Novembre).Range(F226).Value Sheets(Dashboard).Range(AO6) = Sheets(Décembre).Range(F226).Value 'Format cellule en nombre Range(AD7:AO7).Select Selection.NumberFormat = 0 'Copy moyenne de rotation Sheets(Dashboard).Range(AD7) = Sheets(Janvier).Range(G226).Value Sheets(Dashboard).Range(AE7) = Sheets(Fevrier).Range(G226).Value Sheets(Dashboard).Range(AF7) = Sheets(Mars).Range(G226).Value Sheets(Dashboard).Range(AG7) = Sheets(Avril).Range(G226).Value Sheets(Dashboard).Range(AH7) = Sheets(Mai).Range(G226).Value Sheets(Dashboard).Range(AI7) = Sheets(Juin).Range(G226).Value Sheets(Dashboard).Range(AJ7) = Sheets(Juillet).Range(G226).Value Sheets(Dashboard).Range(AK7) = Sheets(Aout).Range(G226).Value Sheets(Dashboard).Range(AL7) = Sheets(Septembre).Range(G226).Value Sheets(Dashboard).Range(AM7) = Sheets(Octobre).Range(G226).Value Sheets(Dashboard).Range(AN7) = Sheets(Novembre).Range(G226).Value Sheets(Dashboard).Range(AO7) = Sheets(Décembre).Range(G226).Value 'Format cellule en pourcentage Range(AD8:AO8).Select Selection.NumberFormat = 0% 'Copy moyenne de Disponibilité Sheets(Dashboard).Range(AD8) = Sheets(Janvier).Range(H226).Value Sheets(Dashboard).Range(AE8) = Sheets(Fevrier).Range(H226).Value Sheets(Dashboard).Range(AF8) = Sheets(Mars).Range(H226).Value Sheets(Dashboard).Range(AG8) = Sheets(Avril).Range(H226).Value Sheets(Dashboard).Range(AH8) = Sheets(Mai).Range(H226).Value Sheets(Dashboard).Range(AI8) = Sheets(Juin).Range(H226).Value Sheets(Dashboard).Range(AJ8) = Sheets(Juillet).Range(H226).Value Sheets(Dashboard).Range(AK8) = Sheets(Aout).Range(H226).Value Sheets(Dashboard).Range(AL8) = Sheets(Septembre).Range(H226).Value Sheets(Dashboard).Range(AM8) = Sheets(Octobre).Range(H226).Value Sheets(Dashboard).Range(AN8) = Sheets(Novembre).Range(H226).Value Sheets(Dashboard).Range(AO8) = Sheets(Décembre).Range(H226).Value 'I-2 2ème Produit '---------------- 'Format cellule en nombre Range(AD9:AO9).Select Selection.NumberFormat = 0 'Copy moyenne de stock Sheets(Dashboard).Range(AD9) = Sheets(Janvier).Range(I226).Value Sheets(Dashboard).Range(AE9) = Sheets(Fevrier).Range(I226).Value Sheets(Dashboard).Range(AF9) = Sheets(Mars).Range(I226).Value Sheets(Dashboard).Range(AG9) = Sheets(Avril).Range(I226).Value Sheets(Dashboard).Range(AH9) = Sheets(Mai).Range(I226).Value Sheets(Dashboard).Range(AI9) = Sheets(Juin).Range(I226).Value Sheets(Dashboard).Range(AJ9) = Sheets(Juillet).Range(I226).Value Sheets(Dashboard).Range(AK9) = Sheets(Aout).Range(I226).Value Sheets(Dashboard).Range(AL9) = Sheets(Septembre).Range(I226).Value Sheets(Dashboard).Range(AM9) = Sheets(Octobre).Range(I226).Value Sheets(Dashboard).Range(AN9) = Sheets(Novembre).Range(I226).Value Sheets(Dashboard).Range(AO9) = Sheets(Décembre).Range(I226).Value 'Format cellule en nombre Range(AD10:AO10).Select Selection.NumberFormat = 0 'Copy moyenne de rotation Sheets(Dashboard).Range(AD10) = Sheets(Janvier).Range(J226).Value Sheets(Dashboard).Range(AE10) = Sheets(Fevrier).Range(J226).Value Sheets(Dashboard).Range(AF10) = Sheets(Mars).Range(J226).Value Sheets(Dashboard).Range(AG10) = Sheets(Avril).Range(J226).Value Sheets(Dashboard).Range(AH10) = Sheets(Mai).Range(J226).Value Sheets(Dashboard).Range(AI10) = Sheets(Juin).Range(J226).Value Sheets(Dashboard).Range(AJ10) = Sheets(Juillet).Range(J226).Value Sheets(Dashboard).Range(AK10) = Sheets(Aout).Range(J226).Value Sheets(Dashboard).Range(AL10) = Sheets(Septembre).Range(J226).Value Sheets(Dashboard).Range(AM10) = Sheets(Octobre).Range(J226).Value Sheets(Dashboard).Range(AN10) = Sheets(Novembre).Range(J226).Value Sheets(Dashboard).Range(AO10) = Sheets(Décembre).Range(J226).Value 'Format cellule en pourcentage Range(AD11:AO11).Select Selection.NumberFormat = 0% 'Copy moyenne de Disponibilité Sheets(Dashboard).Range(AD11) = Sheets(Janvier).Range(K226).Value Sheets(Dashboard).Range(AE11) = Sheets(Fevrier).Range(K226).Value Sheets(Dashboard).Range(AF11) = Sheets(Mars).Range(K226).Value Sheets(Dashboard).Range(AG11) = Sheets(Avril).Range(K226).Value Sheets(Dashboard).Range(AH11) = Sheets(Mai).Range(K226).Value Sheets(Dashboard).Range(AI11) = Sheets(Juin).Range(K226).Value Sheets(Dashboard).Range(AJ11) = Sheets(Juillet).Range(K226).Value Sheets(Dashboard).Range(AK11) = Sheets(Aout).Range(K226).Value Sheets(Dashboard).Range(AL11) = Sheets(Septembre).Range(K226).Value Sheets(Dashboard).Range(AM11) = Sheets(Octobre).Range(K226).Value Sheets(Dashboard).Range(AN11) = Sheets(Novembre).Range(K226).Value Sheets(Dashboard).Range(AO11) = Sheets(Décembre).Range(K226).Value Application.ScreenUpdating = True End Sub
Y a t’il une façon de simplifier les choses.
Merci beaucoup pour votre aide.
Partager