Microsoft 365 passage de données en colonnes vers une seule ligne

Francine WAX

XLDnaute Nouveau
Bonjour, Avez vous une astuce pour ce cas ?
N° ClientPoliceNombre de PoliceNB
0​
0​
0​
29223​
N°ClientPol1Pol2Pol3Pol4Pol5Pol6Pol7Pol8Pol9Pol10
21594​
21594​
4001183023​
21594​
400118303​
1​
47719​
47719​
400103192​
400110834​
400115454​
400132903​
400156115​
400167777​
47719​
400103192​
1​
47719​
400110834​
1​
passer d'une base de données en colonnes vers 1 ligne par N° Client pour pouvoir faire un publipostage
47719​
400115454​
1​
47719​
400132903​
1​
47719​
400156115​
1​
47719​
400167777​
1​
 

Francine WAX

XLDnaute Nouveau
euh, je dois malheureusement intercaler ce point avec mon BAU, donc pas simple de se concentrer... o_O

Dans Access, j'ai deux requêtes, une contenant par colonnes : le noClient et ses coordonnées - et une autre par colonnes contenant le noClient et le NoPolice.
Le résultat à obtenir est une ligne par noClients, ses coordonnées + Police1 Police2 etc si le client n'a qu'une police, elle sera renseignée en Police 1, s'ils en a deux, elles seront renseignées en Police1 et l'autre en Police2, etc.
 

chris

XLDnaute Barbatruc
RE

Comme dit :
  • soit tu fais tout dans Access et dans ce cas un simple état pour le publipostage suffit
  • soit tu veux utiliser Access + Excel + Word : autant croiser dans Access et baser Word sur la requête sans passer par Excel
Tu peux créer une requête PolicesNum qui numérote les polices.
Exemple avec une requête nommée Polices telle que tu décris ta 2ème requête
VB:
SELECT T1.noClient, T1.NoPolice, Count(*) AS Num
FROM Polices AS T1 INNER JOIN Polices ON T1.noClient= Polices.noClient
WHERE (((T1.noClient)=[Polices].[noClient]) AND ((T1.NoPolice)>=[Polices].[NoPolice]))
GROUP BY T1.noClient, T1.NoPolice;
puis croiser dans une autre requête
Code:
TRANSFORM First(PolicesNum.NoPolice) AS NoPolice
SELECT PolicesNum.noClient
FROM PolicesNum
GROUP BY PolicesNum.noClient
PIVOT "Police " & Format([num],"00");
 
Dernière édition:

merinos

XLDnaute Accro
Bonjour @Francine WAX ,

Avec PQ, c'est juste en 2 click ....


1623825265365.png
 

merinos

XLDnaute Accro
Salut @chris ,

Pour SQL .... 100% raison c'est le bon endroit pour formater les données.... Si on dispose des droits utilisateurs sur la DB /vue...

en plus l'instruction "pivot" en SQL... J'adore... je vais tester dès que possible.

Par contre QBE Access .... c'est quoi?


il y a une raison pour la quelle je pousse l'utilisation de Query: C'est la premiere ligne pour passer au DAX... et une fois que l'on emploie cela...

Bonne journée,

merinos
 

Etoto

XLDnaute Barbatruc
Salut @chris ,

Pour SQL .... 100% raison c'est le bon endroit pour formater les données.... Si on dispose des droits utilisateurs sur la DB /vue...

en plus l'instruction "pivot" en SQL... J'adore... je vais tester dès que possible.

Par contre QBE Access .... c'est quoi?


il y a une raison pour la quelle je pousse l'utilisation de Query: C'est la premiere ligne pour passer au DAX... et une fois que l'on emploie cela...

Bonne journée,

merinos
Re,

Moi aussi je ne connais pas Access QBE.
 

chris

XLDnaute Barbatruc
Bonjour à tous

Dans Access, inclus dans le pack Office, on utilise très peu l'éditeur SQL pour requêter : on se sert du Query By Example. C'est lui qui s'ouvre quand tu utilises Créer, Création de requête.

C'est un peu comme dans PowerQuery : tu n'utilises que rarement l'éditeur de code M, tu travailles visuellement ta requête.

Là, l'objectif de la demande est juste un publipostage, et Access fait cela bien mieux que Word dès que l'on a plus d'une valeur pour un ID....
 

Etoto

XLDnaute Barbatruc
Bonjour à tous

Dans Access, inclus dans le pack Office, on utilise très peu l'éditeur SQL pour requêter : on se sert du Query By Example. C'est lui qui s'ouvre quand tu utilises Créer, Création de requête.

C'est un peu comme dans PowerQuery : tu n'utilises que rarement l'éditeur de code M, tu travailles visuellement ta requête.

Là, l'objectif de la demande est juste un publipostage, et Access fait cela bien mieux que Word dès que l'on a plus d'une valeur pour un ID....
Re,

Merci de l'information, mais c'est quoi le mieux ? PQ ? QBE ? SQL ? VBA ? 🤔
 

soan

XLDnaute Barbatruc
Inactif
Bonjour,

PQ = Power Query

QBE = Query By Example

SQL = Structured Query Langage

VBA = Visual Basic for Applications

le mieux, c'est d'utiliser c'qui est le plus adapté, en fonction de c'qu'on veut faire. 😁 😜

et le premier n'est pas pour une utilisation aux WC (= Water-Closet). :rolleyes:

soan
 

Francine WAX

XLDnaute Nouveau
Hello,
Je dois la réaliser dans excel infine, car les utilisateur de la bdd finale ne sont pas formés sur access; et parfois les listes sont envoyées aux imprimeurs.
Par contre, je ne parviens pas à faire cette fichue Power Query, qui a l'air d'être ma solution.
Je vous joins une bdd Excel, avec un onglet qui reprend le résultat attendu. Vous pensez que vous arriveriez à me constituer un modèle? qui pourrait être réutilisé en écrasant à chaque fois l'onglet bdd ?
 

Pièces jointes

  • excel bbd et résultats attendu pr test.xlsx
    18.5 KB · Affichages: 4

Discussions similaires

Statistiques des forums

Discussions
312 765
Messages
2 091 892
Membres
105 086
dernier inscrit
hyacinthe