Tableau croisé dynamique qui cumule des valeurs textes, possible ?

Bonjour,

Je cherche à savoir s'il est possible de venir cumuler dans un TCD des valeurs sous forme de texte, comme une concaténation

Par exemple

ArticleQuantitéZone
Article 1155Magasin 1
Article 235Magasin 1
Article 335Magasin 1
Article 484Magasin 1
Article 535Magasin 1
Article 515Réserve 1
Article 54Extérieur 1
Article 653Magasin 1
Article 748Magasin 1
Article 812Magasin 1

Et à la fin je voudrais une seule ligne par article avec en face le cumul de la troisième colonne.

Donc pour la ligne "Article 5" qui est 3 fois, j'aurais les 3 zones

Article 5Magasin 1 | Réserve 1 | Extérieur 1

Là c'est mis un pipe en séparateur, mais s'il n'y en a pas ce n'est pas gênant non plus.

Est-ce possible ?

Bonjour

Par TCD, non

Peux-tu

  • compléter ton profil en indiquant ta version Excel
  • joindre un fichier exemple représentatif
  • préciser si Magasin 1 | Réserve 1 | Extérieur 1 doit se trouver réparti dans 3 colonnes, ou n selon les cas, ou dans une unique colonne
55exemple.xlsx (8.49 Ko)

Voici un exemple du fichier

  • préciser si Magasin 1 | Réserve 1 | Extérieur 1 doit se trouver réparti dans 3 colonnes, ou n selon les cas, ou dans une unique colonne

= Plutôt une colonne unique, mais si c'est plus simple dans plusieurs ça peut être aussi bon. Après il suffit de faire une concaténation

Merci

RE

As-tu la possibilité d'installer l'add on PowerQuery (intégré à Excel à partir de 2016, en add on à partir de 2010) ?

Sinon par formule il faudra des colonnes intermédiaires ou sinon VBA

OK je viens de l'installer, par contre je ne connais pas du tout.

Que dois-je faire ensuite ?

RE

La source doit être mise sous forme de tableau

Tu peux voir les étapes de la requête en lançant PowerQuery : onglet PowerQuery, lancer l'éditeur

Quelques infos pour se repérer ici http://www.excel-formations.fr/Trucs_astuces/PQ00.php

Les étapes sont listées à droite et on peut en voir le détail dans le barre de formule et en cliquant sur le rouage de la ligne d'étape

SI tu coinces sur une étape, reposte

Ok super merci

Je vais prendre le temps de comprendre

A quoi sert l'étape "Doublons supprimés" je ne vois pas de différence ? Et comment tu fais pour la faire ?

RE

Au cas où il y aurait des doublons, je préfère supprimer car sinon on aurait 2 fois la même zone ensuite

on sélectionne les colonnes et clic droit

D'accord

Tu pourrais m'expliquer précisément l'étape Personnalisée ajoutée s'il te plaît

J'essaye là mais j'ai une erreur :

image

RE

Attention PowerQuery est sensible à la casse (comme VBA) donc TABL et Tabl ce n'est pas le même chose

Le regroupement stocke toutes les données liées à chaque ligne de la colonne Article : tu peux d'ailleurs voir en cliquant sur la ligne de l'article 5 dans la colonne Tabl s'afficher en bas ces données

La formule de la colonne personnalisée les extrait sous forme de liste en les triant

Je te conseille d'afficher le barre de formule dans PowerQuery, cela aide beaucoup

Ok j'ai réussi, maintenant il faut que je comprenne comment tout ça se gère et comprendre la logique.

Merci beaucoup de ton aide !

Bonjour,

Je me permets de revenir vers toi car j'ai essayé un autre cas et je n'arrive pas à m'en sortir.

Le cas est légèrement différent, j'ai ces données :

ASP 000504AF010NILFISKFLOORTEC 350 B
ASP 000504AF010NILFISKFLOORTEC 350
ASP 000505AG002TENNANTT 7 + EC H2O
ASP 000801AA020RCMBRAVA 500
ASP 000801AA020RCMECOLAB 5001 E
ASP 000801AA020RCMBRAVA 800 HT
ASP 000801AG020RCMBRAVA 500
ASP 000801AG020RCMBRAVA 800 HT

La première contient la référence de mon produit, la deuxième la marque et la troisième le modèle lié à la marque.

Ce qu'il me faudrait c'est ça :

ASP 000504AF010NILFISKFLOORTEC 350 B - FLOORTEC 350
ASP 000505AG002TENNANTT 7 + EC H2O
ASP 000801AA020RCMBRAVA 500 - ECOLAB 5001 E - BRAVA 800 HT - BRAVA 500 - BRAVA 800 H

En gros à chaque fois que l'on a la même référence, que ça cumule les modèles, par marque.

Parfois il y a des doublons sur plusieurs colonnes, un autre cas :

ASR 971401AG022ATLAS COPCOT 35
ASR 971401AG022INGERSOLL RANDECM 695 D
ASR 971401AG022ATLAS COPCOT 30
ASR 971401AG022ATLAS COPCOT 35
ASR 971401AG022INGERSOLL RANDLM 635 XL
ASR 971401AG022INGERSOLL RANDLMR 600 C
ASR 971401AG022ATLAS COPCOT 35 POWERROC
ASR 971401AG022INGERSOLL RANDLM 600 G
ASR 971401AG022INGERSOLL RANDECM 760
ASR 971401AG022INGERSOLL RANDECM 580
ASR 971401AG022INGERSOLL RANDLM 500 C
ASR 971401AG022INGERSOLL RANDECM 470
ASR 971401AG022ATLAS COPCOCM 470
ASR 971401AG022INGERSOLL RANDECM 585
ASR 971401AG022INGERSOLL RANDECM 720
ASR 971401AG022INGERSOLL RANDECM 660
ASR 971401AG022INGERSOLL RANDECM 690

Là on a toujours la même référence (colonne de gauche)

En gros à chaque fois que la colonne 2 est la même marque, il faudrait que ça cumule la troisième colonne (sauf si on retrouve plusieurs fois ce modèle)

Donc ça donnerait :

ASR 971401AG022ATLAS COPCOT 35 - T 30 - T 35 POWERROC - CM 470
ASR 971401AG022INGERSOLL RANDECM 695 D - LM 635 XL - LMR 600 C - LM 600 G - ECM 760 - ECM 580 - LM 500 C - ECM 470 - ECM 585 - ECM 720 - ECM 660 - ECM 690

Pour la marque ATLAS COPCO ici, on avait 2 fois la valeur "T 35" il faudrait qu'elle soit une seule fois dans le résultat.

Je ne sais pas si c'est faisable.

Fichier exemple avec uniquement une référence (mais une référence qui est celle qui se monte sur beaucoup de marques / modèles différent)

18exemple-sn001.xlsx (84.80 Ko)

Merci d'avance

Bonjour

T 35 et T 35 POWERROC sont 2 valeurs différentes sinon l'étape de dédoublonnage, aurait éliminé le doublon

Bonjour

Effectivement ce sont bien 2 valeurs différentes

Il faut uniquement dédoublonner si c'est exactement la même valeur

RE

48exemple-sn001-pq.xlsx (115.62 Ko)

Chris,

Super merci !

En fait c'est juste le regroupement avec 2 colonnes que je n'avais pas (ce qui changeait par rapport au premier)

Du coup la dernière étape serait de transformer en HTML et de garder une seule référence

BE 4010DOLMARPC 8116 D
BE 4010HUSQVARNA125 BV - 125 BVX - 125 BX
BE 4010MAKITADCS 5200-38 - DCS 5200-45 - DCS 6401-20 - DCS 6401-45 - DCS 6401-50 - DCS 7301 - DCS 7901 - DPC 8112 - DPC 8132 - EK 6100 - EK 6101 - EK 7300 - EK 7301 - EK 8100
BE 4010WACKERBTS 1030 L3 - BTS 1035 L3 - BTS 1140 L3 - BTS 930 - BTS 930 L3 - BTS 935 L

Deviendrait

BE 4010<table border="1">
<tbody>
<tr>
<td><strong>Marque</strong></td>
<td><strong>Modèles</strong></td>
</tr>
<tr>
<td> DOLMAR</td>
<td>PC 8116 D</td>
</tr>
<tr>
<td> HUSQVARNA</td>
<td>125 BV - 125 BVX - 125 BX</td>
</tr>
<tr>
<td>MAKITA</td>
<td>DCS 5200-38 - DCS 5200-45 - DCS 6401-20 - DCS 6401-45 - DCS 6401-50 - DCS 7301 - DCS 7901 - DPC 8112 - DPC 8132 - EK 6100 - EK 6101 - EK 7300 - EK 7301 - EK 8100</td>
</tr>
<tr>
<td>WACKER</td>
<td>BTS 1030 L3 - BTS 1035 L3 - BTS 1140 L3 - BTS 930 - BTS 930 L3 - BTS 935 L3</td>
</tr>
</tbody>
</table>
<p> </p>

Faisable ?

Bonjour

On fait quoi des références ?

Elle ne figurent pas dans l'HTML...

La référence est dans la première colonne du tableau, mais pas dans l'HTML c'est normal.

A chaque fois il faut :

RéférenceCode HTML
BE 4010<table border="1">
<tbody>
<tr>
<td><strong>Marque</strong></td>
<td><strong>Modèles</strong></td>
</tr>
<tr>
<td> DOLMAR</td>
<td>PC 8116 D</td>
</tr>
<tr>
<td> HUSQVARNA</td>
<td>125 BV - 125 BVX - 125 BX</td>
</tr>
<tr>
<td>MAKITA</td>
<td>DCS 5200-38 - DCS 5200-45 - DCS 6401-20 - DCS 6401-45 - DCS 6401-50 - DCS 7301 - DCS 7901 - DPC 8112 - DPC 8132 - EK 6100 - EK 6101 - EK 7300 - EK 7301 - EK 8100</td>
</tr>
<tr>
<td>WACKER</td>
<td>BTS 1030 L3 - BTS 1035 L3 - BTS 1140 L3 - BTS 930 - BTS 930 L3 - BTS 935 L3</td>
</tr>
</tbody>
</table>
<p> </p>

RE

Cela m'a rappelé des générations de pages HTML en 25 langues faites via Acces sur un projet client il y a quelques années

Rechercher des sujets similaires à "tableau croise dynamique qui cumule valeurs textes possible"