EXCEL - Transposer/transformer un tableau

Knapneder -  
danielc0 Messages postés 2187 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour à tous,

C'est ma première fois sur ce forum, je ne sais pas si je suis au bon endroit. Excusez-moi si ce n'est pas le cas.

J'ai un tableau Excel qui se présente sous la forme suivante :
X A
X B
X C
Y D
Y E
Z F
Z G
Z H

Je voudrais arriver à ce résultat :
X A B C
Y D E
Z F G H

J'ai essayé par un tableau croisé dynamique, mais sans succès.
Je pourrais le faire manuellement, mais c'est un tableau de 32k lignes et ma première colonne (de X, Y et Z) contient plusieurs milliers de valeurs différentes. Ce serait donc un travail particulièrement long...
Une info qui pourrait servir : une valeur de la deuxième colonne (A, B, C,...) pourrait tout à fait aussi être présente pour une valeur de la première colonne, il faut dont qu'elle apparaisse deux fois.

Je reste à votre disposition pour tout renseignement supplémentaire.

Merci d'avance!

3 réponses

  1. danielc0 Messages postés 2187 Date d'inscription   Statut Membre Dernière intervention   287
     
    Bonjour,

    Pour obtenir le résultat (en jaune) :



    En C1 : =A1
    En C2, à recopier vers le bas, formule matricielle, à valider avec Ctrl+Maj+Entrée :
    =SIERREUR(INDEX($A$1:$A$8;PETITE.VALEUR(SI(ESTNA(EQUIV($A$2:$A$8;$C$1:C1;0));LIGNE($C$2:$C$8));LIGNE(A1)););"")
    En D1,, à reecoopier vers la droite et vers le bas :
    =SI(NB.SI($A$1:$A$8;$C1)>=COLONNE(A1);DECALER($B$1;EQUIV($C1;$A$1:$A$8;0)+COLONNE(A1)-2;);"")

    Cordialement.

    Daniel
    0
  2. Vaucluse Messages postés 27336 Date d'inscription   Statut Contributeur Dernière intervention   6 453
     
    Bonjour
    voyez ici si cela peut répondre à votre question
    https://mon-partage.fr/f/a2KC1GvB/
    crdlmnt
    0
  3. Knapneder
     
    Bonjour Daniel et Vaucluse,

    Vos deux solutions sont sensiblement les mêmes et fonctionnent toutes les deux parfaitement, je vous en remercie!

    Je ne pourrai malheureusement pas les utiliser dans mon cas car elles sont très gourmandes en ressources, ce qui fait planter Excel à cause de mes 32k lignes.

    En tout cas je suis impressionné par la formule, je n'y serais pas parvenu seul, encore merci!
    0
    1. danielc0 Messages postés 2187 Date d'inscription   Statut Membre Dernière intervention   287
       
      Bonjour,

      Dommage !

      Regarde avec ce classeur. Il n'y a plus de formules matricielles. Ca va accélérer les calculs :

      https://mon-partage.fr/f/7kItPhpz/

      (bien que AGREGAT soit une fonction matricielle intégrée).
      Sinon, je ne vois qu'une solution par macro.

      Daniel
      0