Bonjour à tous
Voilà je dois développer une petite macro pour mon boulot, on a des quantités assez importantes de données à traiter et faire des stat dessus.
Voilà un peu la manière dont j'ai pensé le truc:
On récupère en fait un liste de valeur à partir de notre logiciel de mesures, on crée une feuille pour chaque tableau de valeurs que l'on colle à partir de la cellule A1, on renomme la feuille de manière explicite.
Le but de la macro est de rassembler toutes les valeurs dans une feuille "resultats"
En gros on à une 15aine de ligne sur 2 colonne (1ère colonne: fréquences, 2ème colonne: niveau)
On veux donc copier chaque tableau les uns a côté des autres et mettre en référence pour chaque séries de valeurs le nom de la feuille auxquelles les valeurs correspondent.
Ensuite on calcule des stats mais je ne suis pas encore arrivé la
En fait j'ai reussi à faire a peu près ce que je voulais mais en mettant les séries de valeurs les unes en dessous des autres.
Mais ce n'est pas très utiles pour travailler.
Voilà ce sur quoi je bloque:
En A1 je veux coller le label de la feuille 1, en C1 le label de la feuille 2, E1->feuille 3, ... et ainsi de suite
mais je ne trouve pas comme faire pour "incrémenter" la référence de la colonne.
Je vous mets le code de la première version avec les séries les unes sous les autres
S'il y a besoin je peux mettre le fichier Excel avec kkes valeurs
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 Dim nbfeuilles As Single Dim nbfreq As Single Dim i As Single Dim j As Single Dim point As String Dim ligne As Double Dim freq As Single Dim cell As Single Dim cell2 As Single Sub Dispersion() nbfeuilles = InputBox("Coller l'export des légendes dans une feuille excel séparée", "Combien il y a-t-il de feuilles Excel?", vbOKOnly) nbfreq = InputBox("Indiquer le nombre max de fréquences relevées", "Nombre de fréquences") + 2 ActiveWorkbook.Sheets.Add after:=Worksheets(nbfeuilles) Worksheets(nbfeuilles + 1).Name = "Resultat" ligne = 1 cell2 = 3 For i = 1 To nbfeuilles cell = 4 point = Worksheets(i).Name Worksheets("resultat").Range("A" & ligne) = point Worksheets(i).Range("B4:C20").Sort _ Key1:=Worksheets(i).Range("B4") For j = 0 To nbfreq freq = Worksheets(i).Range("B" & cell) level = Worksheets(i).Range("C" & cell) If freq > 0 Then Worksheets("resultat").Range("A" & cell2) = freq Worksheets("resultat").Range("B" & cell2) = level End If Worksheets("resultat").Activate Range("A" & cell2).Select Selection.NumberFormat = "0" Range("B" & cell2).Select Selection.NumberFormat = "0.0" Cells.Select With Selection .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .WrapText = False .Orientation = 0 .AddIndent = False .IndentLevel = 0 .ShrinkToFit = False .ReadingOrder = xlContext .MergeCells = False End With cell = cell + 1 cell2 = cell2 + 1 Next ligne = cell2 - 2 Next End Sub
Merci d'avance
Chamo
Partager