Microsoft 365 Excel : Regroupement de plusieurs lignes en une seule

Sylvain D

XLDnaute Nouveau
Bonjour à toutes et à tous,

Sans doute une question abordée maintes fois, mais je n'ai pas trouvé mon bonheur dans les nombreuses contributions passées.

Je souhaite regrouper plusieurs lignes ayant la même valeur dans la première cellule et mettre toutes ces informations dans une seule ligne.
L'exemple ci-dessous sera sans doute plus parlant...

Titre1Titre2Titre3Titre4Titre5Titre6Titre7Titre8Titre9Titre10Titre11Titre12Titre13Titre14Titre15Titre16Titre17
A-1Tri de la paletteSensibilisation des mouleurs par les CEC€ 135,00OUI
10/04/2020​
10/04/2020
Qualité - AC
A-1Après un tri effectué par le conditionnement, aucun produit hors spécification n'a été détecté. Seule la MO du tri a été comptabilisée.039-202014/04/2020Laboratoire - CQ
A-225/01/2020A trier.
19/04/2020
Achats
Tableau de 17 colonnes / 1ère ligne = Titres / X lignes qui augmente de jours en jours

Objectifs : regrouper dans la même ligne toutes les infos des lignes ayant dans leur 1ère cellule la même valeur.
Le top du top pour la colonne 4, serait d'avoir la date de la colonne 16 suivie de ":" qui de met juste avant le contenu de la cellule de la 4ème colonne pour chacune des lignes (les couleurs ne sont que pour l'exemple), le tout séparé par " - " ou éventuellement par un retour à la ligne (Alt+Enter).
Titre1Titre2Titre3Titre4Titre5Titre6Titre7Titre8Titre9Titre10Titre11Titre12Titre13Titre14Titre15Titre16Titre17
A-110/4 : Tri de la palette - 14/04 : Après un tri effectué par le conditionnement, aucun produit hors spécification n'a été détecté. Seule la MO du tri a été comptabilisée.Sensibilisation des mouleurs par les CEC039-2020€ 135,00OUI
10/04/2020​
10/04/2020 15:50:59 14/04/2020 08:49:09Qualité - AC Laboratoire - CQ
A-225/01/202019/4 : A trier.19/04/2020Achats
 

Pièces jointes

  • Exemple.xlsx
    11.7 KB · Affichages: 12

Dudu2

XLDnaute Barbatruc
Bonjour,
Le top du top pour la colonne 4, serait d'avoir la date de la colonne 16 suivie de ":" qui de met juste avant le contenu de la cellule de la 4ème colonne pour chacune des lignes
Pourquoi ce n'est pas cohérent ?
- Colonne 16 initiale: 10/04/2020
- Colonne 16 finale: 10/04/2020 15:50:59
- Colonne 16 reportée en colonne 4: 10/04
Quel est le format de la date ?
 

Sylvain D

XLDnaute Nouveau
Bonjour Dudu2,

C'est exactement le rendu souhaité ! Je n'ai qu'un mot : chapeau ...

Quelques questions subsidiaires toutefois;) :
- Y-a t-il une limite dans le nombre de lignes ? (j'ai l'impression que oui)
- Est-ce que si je rajoute une colonne, elle sera prise en compte ? (j'ai l'impression que oui mais ça crée un décalage)
 

Dudu2

XLDnaute Barbatruc
Bonjour Sylvain,
Les 2 dimensions sont calculées dynamiquement et donc le code n'est pas sensible au nombre de lignes ou colonnes. Si décalage il y a, tu l'as provoqué par tes manips.
VB:
        'Nombre de lignes & colonnes de la feuille Data Sources
        NbLignesSources = ThisWorkbook.Worksheets(NomFeuilleDataSources).Cells(Rows.Count, 1).End(xlUp).Row
        NbColonnesSources = ThisWorkbook.Worksheets(NomFeuilleDataSources).Cells(1, Columns.Count).End(xlToLeft).Column

Maintenant, vu que tu veux tout regrouper dans 1 seule cellule, ce qui n'est pas une bonne solution(*), tu va rapidement te heurter aux limites d'Excel -> https://support.office.com/fr-fr/article/spécifications-et-limites-relatives-à-excel-1672b34d-7043-467e-8e27-269d656771c3?ui=fr-FR&rs=fr-FR&ad=FR

(*) Il eut mieux valu regrouper les lignes de même code à la suite les unes des autres, quitte à mettre à blanc (vider) le code des lignes suivantes d'un code donné, voire à supprimer les bordures horizontales les séparant si on est perfectionniste. Je peux te le faire si tu préfères cette option...
 
Dernière édition:

Sylvain D

XLDnaute Nouveau
Sincèrement, la solution proposée est parfaite à ce jour, merci beaucoup.
Je ne connaissais pas les limites d'excel : j'ai appris encore quelque chose aujourd'hui !
Effectivement, le décalage, je l'ai provoqué. Je ne connais pas le langage VBA mais je n'ai pas pu m'empêcher d'aller voir les lignes de codes pour essayer de comprendre la logique du truc ... Sans succès.
A vrai dire, le tableau DATA FINAL doit alimenter une sorte de formulaire dont on renseigne la référence qui se trouve dans la première colonne. Les autres champs se remplissent par un RECHERCHEV. D'où le regroupement : tout dans une seule ligne.

Encore une fois un grand merci, ça fonctionne "aux p'tits oignons" ! ;)
Et aussi merci pour la rapidité !
 

Statistiques des forums

Discussions
311 711
Messages
2 081 792
Membres
101 817
dernier inscrit
carvajal