Transposer valeurs vers un autre tableau

Claude

XLDnaute Occasionnel
Bonjour le Forum,

Il s'agit de transposer les valeurs du tableau A2:B50 en D2:I23
de manière à ne conserver qu'une seule valeur de la colonne A
par ex.un seul 0, un seul 1, etc.. Sachant que les valeurs de
la colonne A sont variables.
La hauteur de la colonne A est par contre constante et comprend
toujours 49 cellules de A1 à A50. Par contre, la taille du tableau
D2:I23 est variable en focntion du nombre de valeurs de la colonne A

Je travail sur Excel 97 !

Ci-joint un petit exemple de travail.

Avec tous mes remerciements

Claude
 

Pièces jointes

  • Transposetableau.zip
    3.4 KB · Affichages: 39
Dernière édition:

JNP

XLDnaute Barbatruc
Re : Transposer valeurs vers un autre tableau

Bonjour Claude :),
D'après une formule de David84 pour trier dédoublonner, ton fichier en PJ, mais sans garantie sous 97 (j'étais pas né :p...) :rolleyes:...
Bonne suite :cool:
 

Pièces jointes

  • Transposetableau.xls
    116 KB · Affichages: 63
  • Transposetableau.xls
    116 KB · Affichages: 63
  • Transposetableau.xls
    116 KB · Affichages: 61

BOISGONTIER

XLDnaute Barbatruc
Repose en paix
Re : Transposer valeurs vers un autre tableau

Bonjour,

En VBA

Code:
Sub ListeInverses()
  Set d = CreateObject("Scripting.Dictionary")
  For Each c In [A2].Resize(Application.CountA([a:a]))
    d(c.Value) = d(c.Value) & c.Offset(, 1) & " "
  Next c
  ligne = 2
  For Each c In d.keys
    Cells(ligne, "D") = c
    a = Split(d.Item(c), " ")
    Cells(ligne, "D").Offset(, 1).Resize(, UBound(a) + 1) = _
         Application.Transpose(Application.Transpose(a))
    ligne = ligne + 1
  Next c
End Sub

JB
 

Pièces jointes

  • Copie de Transposetableau.xls
    29 KB · Affichages: 69
Dernière édition:

david84

XLDnaute Barbatruc
Re : Transposer valeurs vers un autre tableau

Bonjour,
au vu de l'exemple fourni (si pas de besoin de trier les valeurs), formule d'extraction des données de la colonne A sans doublon (validation matricielle), testée sur le fichier de JNP:) :
Code:
=INDEX(A:A;MIN(SI(NB.SI(N$1:N1;A$2:A$50)=0;LIGNE(A$2:A$50);LIGNES(A$2:A$50)+2)))&""
A+
 

JNP

XLDnaute Barbatruc
Re : Transposer valeurs vers un autre tableau

Re :),
Sur 97, A:A, j'ai des doutes :rolleyes:...
D'ailleurs, en N2 de mon fichier, il vaudrait mieux
Code:
=SI(LIGNES($A$1:$A1)<=SOMME(1/NB.SI($A$2:$A$50;$A$2:$A$50));INDEX($A$2:$A$50;EQUIV(PETITE.VALEUR(SI(EQUIV($A$2:$A$50;$A$2:$A$50;0)=LIGNE(INDIRECT("$A1:$A"&LIGNES($A$2:$A$50)));NB.SI($A$2:$A$50;"<"&$A$2:$A$50));LIGNES($A$1:$A1));NB.SI($A$2:$A$50;"<"&$A$2:$A$50);0));"")
car l'indirect pointait sur une matrice "Ligne complète" mais non détectée par la compatibilité descendante, car Indirect :rolleyes:...
Bonnse suite :cool:
PS : Euh, Rachid, j'ai pas vraiment suivi la différence, ton fichier est strictement identique au mien :confused:... Ah, tu viens de modifier, je comprends mieux :p...
 
Dernière édition:

Discussions similaires

Réponses
7
Affichages
273

Statistiques des forums

Discussions
311 733
Messages
2 082 019
Membres
101 872
dernier inscrit
Colin T