Convertir une matrice - EXcel 2007 -vba

Fermé
imhotep_9 Messages postés 2 Date d'inscription vendredi 1 juin 2012 Statut Membre Dernière intervention 1 juin 2012 - 1 juin 2012 à 15:42
 imhotep_9 - 5 juin 2012 à 11:39
Bonjour,

En Excel 2007, je souhaite convertir une matrice dont la forme est:

F1 A
F1 B
F1 C
F1 D
F2 E
F2 F
... ...

en une nouvelle matrice dont la forme est:

F1 A;B;C;D
F2 E;F

... ...


Il me faudrait un code vba que je puisse adapter à toute matrice de ce type.

Merci bcp pour votre aide
A voir également:

1 réponse

Bruce Willix Messages postés 11968 Date d'inscription mardi 24 mai 2011 Statut Contributeur Dernière intervention 12 juin 2018 2 590
Modifié par Bruce Willix le 1/06/2012 à 15:55
Il faut pas de code VBA. Il faut transposer ta matrice.

Et ça tombe bien, Excel possède une telle fonction: TRANSPOSE()

Donc si tu as une matrice:

A1 B1
A2 B2

et que tu appliques la formule =TRANSPOSE(A1:B2) la matrice résultante sera:

A1 A2
B1 B2

C'est une formule matricielle. Quand tu l'appliques, tu dois appuer sue MAJ et CTRL en appuyant sur ENTREE pour que ça fonctionne.

Tu dois aussi faire attention: si ta matrice d'entrée est de dimension (AxB) la zone dans laquelle tu vas écrire la matrice transposée doit être de dimension (BxA)...

en clair la transposition d'un matrice

A1 A2 A3
B1 B2 B3

donnera

A1 B1
A2 B2
A3 B3


Si Dieu était un méchant, ce serait moi (Mr. Benedict)
0
imhotep_9 Messages postés 2 Date d'inscription vendredi 1 juin 2012 Statut Membre Dernière intervention 1 juin 2012
1 juin 2012 à 16:22
malheureusement cette fonction ne répond pas à ma problématique...
Je pense vraiement que cela nécessite du code vba.

Ma matrice de départ est la suivante (A2:B6) :

cellule A2 = Item1; cellule B2 = itemA
cellule A3 = Item1; cellule B3 = itemB
cellule A4 = Item1; cellule B4 = itemC
cellule A5 = Item2; cellule B5 = itemD
cellule A6 = Item2; cellule B6 = itemE
....


Le résultat que je doit obtenir est:
cellule A2 = Item1; cellule B2 = itemA, itemB, itemC
cellule A3 = Item2; cellule B3 = itemD, itemE
....

Merci d'avance.
0
Bruce Willix Messages postés 11968 Date d'inscription mardi 24 mai 2011 Statut Contributeur Dernière intervention 12 juin 2018 2 590
5 juin 2012 à 09:54
Alors tu dois faire un tableau croisé dynamique (en anglais: Pivot Table) :) Tu sais comment ça marche ?
0
oui merci
0