Microsoft 365 Regroupement d'un tableau de 2 dimensions en vba

Patrick46

XLDnaute Nouveau
Bonjour à tous !!

J'ai regardé sur le forum mais je n'ai pas trouvé de solutions à mon problème.

Je suis assez novice en VBA l, bien que je l'étudié un peu en BTS. Je travaille depuis peu en tant que stagiaire dans une société et j'ai eu comme demande d'automatiser des tableaux en 2 dimensions sous forme de regroupements. J'arrive à faire un regroupement avec des IF mais je n'arrive pas à articuler les deux ensemble.

Je vous joins un fichier montrant le tableau d'origine et le regroupement que je souhaite obtenir.

Merci d'avance si vous avez une piste de départ ou un morceau de code qui pourrait me permettre de réaliser ce tableau.

Patrick
 

Pièces jointes

  • Excel_Exemples.xlsx
    11.5 KB · Affichages: 21

job75

XLDnaute Barbatruc
Bonjour Patrick46, eriiiic, le forum,

Avec ce fichier (3) les en-têtes du tableau des résultats sont aménagées :
VB:
    '---aménagement des en-têtes (facultatif)---
    .Columns(1).HorizontalAlignment = xlLeft
    For i = 2 To nlig - 1
        k = Application.Match(.Cells(i + 1, 1), P.Columns(1), 0)
        If k > Application.Match(.Cells(i, 1), P.Columns(1), 0) + 1 Then .Cells(i, 1) = .Cells(i, 1).Text & " à " & P(k - 1, 1).Text
    Next i
    If .Cells(i, 1) <> P(P.Rows.Count, 1) Then .Cells(i, 1) = .Cells(i, 1).Text & " à " & P(P.Rows.Count, 1).Text
    .Rows(1).HorizontalAlignment = xlCenter
    For j = 2 To ncol - 1
        k = Application.Match(.Cells(1, j + 1), P.Rows(1), 0)
        If k > Application.Match(.Cells(1, j), P.Rows(1), 0) + 1 Then .Cells(1, j) = .Cells(1, j).Text & " à " & P(1, k - 1).Text
    Next j
    If .Cells(1, j) <> P(1, P.Columns.Count) Then .Cells(1, j) = .Cells(1, j).Text & " à " & P(1, P.Columns.Count).Text
Mais si le tableau des résultats est grand ce complément prendra du temps.

Bonne journée.
 

Pièces jointes

  • Excel_Exemples(3).xlsm
    22.6 KB · Affichages: 4

Discussions similaires

Réponses
37
Affichages
2 K

Statistiques des forums

Discussions
312 279
Messages
2 086 719
Membres
103 378
dernier inscrit
phdrouart