Concaténer des numéros qui se suivent

Bonjour,

D'habitue plutôt débrouillard en Excel, je tombe pour la deuxième fois sur un problème que je n'arrive pas à résoudre de manière automatisée. Le voici :

Dans un tableau avec une colonne de numéros unique et une colonne de valeurs non uniques, je cherche à concaténer les numéros correspondants à chaque valeurs.

Par exemple :

Valeur
1Pierre
2Pierre
3Pierre
4Paul
5Pierre
6Paul
7Paul

Retour :

ValeurNuméros
Pierre1-3;5
Paul4;6-7 (ou 4;6;7)

EDIT : Le challenge est ici de concaténer les n° qui se suivent : 1-3 au lieu de 1;2;3. Cf les exemples suivants ou l'on peut avoir plusieurs centaines de numéros qui se suivent. /EDIT

La première fois que je suis tombé sur ce problème (pour synthétiser une centaine de numéros de parcelles d'une matrice cadastrale) j'avais fini par faire un TCD et faire la synthèse à la main. Là, j'ai de nouveau le problème avec une liste de porteurs de parts d'une société civile (1500 parts, 7 porteurs de parts au max) avec une dizaine de versions de cette liste, donc j'aimerais éviter de me coltiner ça à la main, et puis c'est aussi pour le côté challenge intellectuel de la chose !

Je ne doute pas que l'on puisse faire une macro VBA pour cela (j'ai déjà une idée de méthode bourrine mais efficace) mais je cherchais une version plus élégante (TCD, Power Pivot ou formule, même bien dodue). Je préfère utiliser VBA en dernier recours, le classeur et la méthode devant être réutilisé par d'autres utilisateurs pas toujours à l'aise avec Excel, je préfère éviter de leur mettre des macros dans les mains. Et puis aussi pour éviter les problèmes de blocages de sécurité et de maintenance.

Pensez-vous que cela soit possible sans macro ?

Merci d'avance pour vos idées et suggestions.

Bonjour à tous,

Une proposition ?

4panurge-v0.xlsx (17.22 Ko)

Merci @JFL pour cette proposition mais, en relisant mon post original, je m'aperçois que le principal problème n'est pas suffisamment souligné (je m'empresse de le modifier pour préciser cela) : comment synthétiser des numéros consécutifs (ex. 500 à 999 ou 500-999).

Dans mon dernier cas d'application, j'ai des porteurs de part qui ont par exemple 508 parts : 1-5; 500-999; 1001 ; 1497; 1498, je voudrais justement éviter d'avoir à inscrire explicitement les 508 numéros correspondant.

Le but est d'avoir une liste digeste pour l'œil humain. Ces données doivent par exemple apparaitre dans des PV d'AG, des rapports annuels, des actes, etc.

Bonjour à tous

Pas trouvé par formule ou alors il faudrait des colonnes intermédiaires

Une proposition PowerQuery

6plagesnumeros.xlsx (19.25 Ko)

Bonjour 78chris et bravo cela fonctionne !

Testé sur 1500 lignes dans le fichier en PJ, il faut une bonne minute pour que ça tourne avec 4 valeurs différentes (je n'ai pas essayé avec plus) mais ça fonctionne. Il y a peut-être une façon plus optimale mais a mon avis difficile sans passer par une macro.

J'avais effectivement pensé à des colonnes intermédiaires, ce qui n'est pas gênant en soit, mais la solution que j'avais envisagé avait un nombre de colonne qui dépend du nombre d'intervalles possibles, donc peu pérenne.

Je dois recevoir prochainement même genre de données avec 5000 lignes et près de 100 valeurs différentes, je vous tiens au courant du résultat.

Merci pour votre aide !

Bonjour

Une variante a priori beaucoup plus rapide

@78chris : je pense qu'il y a une erreur quelque part dans la requête, que je n'arrive pas à identifier, mais le résultat n'est pas conforme à la table (cf. les résultats du classeur précédent)

Je joins le fichier précédent en y ajoutant ma version fort peu élégante à base de formules et de TCD, qui permettait d'automatiser une partie du boulot (ne fonctionne qu'en triant les numéros par ordres croissants).

RE

Oui je me suis emmêlé les pinceaux

6plagesnumeros.xlsx (50.04 Ko)

Finalement, en persévérant un peu j'ai trouvé ma solution légère et élégante (C'est peut-être prétentieux de ma part, vous me le direz ! )

Comme on agit sur des nombres, en ayant le premier de la série, on peut facilement le reporter d'une ligne à l'autre jusqu'à ce qu'il y ait un changement puis calculer le nombre total de numéros de cette série. Il ne reste plus après qu'a mettre le résultat en forme puis faire le petit TCD qui va bien. Le résultat n'est pas exactement celui demandé initialement (tous les numéros sur une même lignes séparés par "-" ou ";") mais le résultat est sous forme de tableau visuellement satisfaisant (et à mon avis pas très difficile à mettre sous la forme demandée initialement=.

Résultat dans la feuille [Méthode 2] en 4 colonnes pour le détail des étapes et en feuille [Méthode 2b] pour la concaténation des formules en 2 colonnes (je ne penses pas que l'on puisse faire moins).

Merci en tout cas pour votre aide @78chris et @JFL.

RE

Je n'ai pas poste la bon fichier il y 15mn : c'est réparé

Rechercher des sujets similaires à "concatener numeros qui suivent"