Transposer plusieurs tableaux en lignes vers des colonnes

Bonjour à tous,

J'ai cherché un moment sur le forum la solution à mon problème sans succès, pourtant ce probleme à certainement déjà été rencontré..

Bref, ayant déjà recu beaucoup d'aide sur divers forum, je me lance et poste pour la première fois ici.

Mon probleme est assez simple, j'ai une BDD qui fait 32 000 lignes à peu près pour deux colonnes, organisée de cette manière :

Mes tableaux sont les uns en dessous des autres, sur des plages de 9 cellules en hauteur et deux en largeur.

(Le premier est en A1:B9, el second en A10;B18, etc)

Je n'ai que des références qui se répètent toutes les 9 cellules dans la colonne A, je cherche à exploiter les données de la colonne B

--> Je souhaiterai avoir mes références qui sont dans la colonne A en ligne (donc de A1 à I1), et les résultats correspondants dans les colonnes A à I.

En gros, j'ai :

Ref 1 a1

Ref 2 a2

Ref 9 a9

Ref 1 b1

Ref 2 b2

Je veux :

Ref 1 Ref 2 Ref 3 Ref 4 Ref 5

a1 a2 a3 a4 a5 ....

b1 b2 b3 b4 b5 ...

Est ce suffisamment clair ?

J'ai essayer le collage spécial en cochant transposer, mais ma BDD est trop volumineuse je pense car ca ne fonctionne pas

EDIT : J'ai également essayé avec RECHERCHEV mais pour que ca fonctionne il me faut automatiser le deuxieme argument table_matrice pour décaler la table toutes les 9 cellules, mais je n'y suis pas parvenu...

Merci

Bonjour,

Pourrais-tu joindre un extrait significatif de ton fichier ... du genre A1:B36 ... ?

39excel-punksi.xlsx (33.91 Ko)

Merci pour ta réponse.

Tu trouveras en PJ un extrait du tableau en question, j'ai modifié les données pour des questions de confidentialités

Merci encore

Re,

Dans ton fichier test joint ... tu peux copier la formule dans la cellule E2 ... sur toute ta plage ...

69excel-punksi.xlsx (13.67 Ko)

Bonjour,

Pour lancer la procédure ALT F8 et exécuter 'Transposer_donnees'

Cdlt.

56excel-punksi.xlsm (15.19 Ko)
Option Explicit
Public Sub Transposer_donnees()
Dim ws As Worksheet
Dim lastRow As Long, lRow As Long, i As Long

    Application.ScreenUpdating = False

    Set ws = ActiveSheet
    lRow = 2

    With ws
        .Range("A1:A9").Copy
        .Range("D1").PasteSpecial Paste:=xlPasteValues, Transpose:=True
        lastRow = .Cells(Rows.Count, 1).End(xlUp).Row
        For i = 1 To lastRow Step 9
            .Range(Cells(i, 2), Cells(i + 8, 2)).Copy
            .Cells(lRow, 4).PasteSpecial Paste:=xlPasteValues, Transpose:=True
            lRow = lRow + 1
        Next
        Application.CutCopyMode = False
    End With

    Set ws = Nothing

End Sub

Merci beaucoup à tous les deux !!

J'avais pensé à la fonction DECALER mais je n'ai pas su m'en servir

Punksi a écrit :

Merci beaucoup à tous les deux !!

J'avais pensé à la fonction DECALER mais je n'ai pas su m'en servir

Le plus agréable avec le Forum ... c'est qu'entre ce matin et cet après-midi ...tu es passé d'une problème sans solution ... à une situation de choix ... avec 2 solutions ...!!!

Rechercher des sujets similaires à "transposer tableaux lignes colonnes"