Bonjour,
Je cherche à retourner des valeurs en tant que nom de colonne, comme avec un "transform", mais sans "en-tête de ligne".
Voici le cas :
La table de départ
Voici ce que je souhaiterai obtenir (avec une concaténation pour le nom de colonne) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Nom |Groupe ======================== ORANGE | 1 BLEU | 1 VERT | 1 ACIER | 4 BOIS | 4 A | 30 B | 30 C | 30
Le mieux que j'obtienne, avec le sql suivant :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 Groupe 1 | Groupe 4 | Groupe 30 ====================================== ORANGE | ACIER | A BLEU | BOIS | B VERT | (rien) | C
Retourne ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 TRANSFORM First(NOM) AS PremierDeNOM SELECT nom FROM MaTable GROUP BY nom, GROUPE, NOM ORDER BY GROUPE, NOM PIVOT "Groupe " & [GROUPE];
--
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 nom | Groupe 1 |Groupe 30 |Groupe 4 ======================================================= BLEU |BLEU | | ORANGE |ORANGE | | VERT |VERT | | ACIER | | |ACIER BOIS | | |BOIS A | |A | B | |B | C | |C |
Pour l'application, c'est bien une base access, mais j'y accède en vba Excel :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 With ActiveWorkbook.Connections(r.Value).ODBCConnection .CommandText = sSQL 'la requête à trouver .CommandType = xlCmdSql End With
J'espère donc que c'est possible en se contentant d'une requête sql.
merci bien
Damran
Partager