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
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
S'il y a besoin je peux mettre le fichier Excel avec kkes valeurs

Merci d'avance

Chamo