Regrouper des données de plusieurs lignes en 1 selon condition
Résolu
lanetmel
Messages postés
200
Date d'inscription
Statut
Membre
Dernière intervention
-
lanetmel Messages postés 200 Date d'inscription Statut Membre Dernière intervention -
lanetmel Messages postés 200 Date d'inscription Statut Membre Dernière intervention -
Bonjour à vous tous,
Merci à vous tous de prendre le temps de me lire.
Voici mon problème :
J'ai plusieurs données qui sont classées par ligne, que je souhaiterais regrouper sur une seule ligne à condition que les données de la colonne B soient les mêmes.
Voici un exemple de ce que j'ai :
A / B / C / D / E / F / G / H
Clients/ Séchoirs/ Épais/Essence/ Entrée/ Sortie / fac / QT
WIC/ 1-0201/ 4/4/ MERISIER/ 2016-02-10 / 2016-02-27/ 4627 / 94932
CYM/ 1-0202/ 5/4/ ÉRABLE/ 2016-02-28 / 2016-03-16 / 4636 / 70250
WIC/ 1-0202/ 4/4/ CERISIER/ 2016-02-28 / 2016-03-16 / 4637 / 25694
voici le résultat que je souhaiterais obtenir :
Clients /Séchoirs/ Épais / Essence/ Entrée/ Sortie / Fac / QT
WIC /1-0201/4/4 /MERISIER/ 2016-02-10 2016-02-27 4627 94932
CYM-WIC/1-0202/5/4-4/4/ÉRABLE-CERISIER/2016-02-28/2016-03-16/4636-4637/
95 944
Je manque de place pour illustrer mais bon :
Si le # de séchoir dans la colonne B est le même : on regroupe les données (s'il y a lieu) des colonnes A / C/ D/ G
les colonnes E et F sont toujours les mêmes selon la colonne B
Et dans la dernière colonne il faudrait additionner les données
lorsque qu'il y a plusieurs données, l'élément de séparation serait "-"
Je ne sais pas si mes explications sont claires et je crois savoir que mon problème est assez complexe.. je suis débutante alors pour moi c'est vraiment au dessus de mes capacités..
Si quelqu'un a une idée.. voudrait m'aider.. m'éclairer un peu. Je suis prête à travailler, je ne demande pas du tout fait!
merci à l'avance, c'est vraiment apprécié ce que vous faites
Mélanie
Merci à vous tous de prendre le temps de me lire.
Voici mon problème :
J'ai plusieurs données qui sont classées par ligne, que je souhaiterais regrouper sur une seule ligne à condition que les données de la colonne B soient les mêmes.
Voici un exemple de ce que j'ai :
A / B / C / D / E / F / G / H
Clients/ Séchoirs/ Épais/Essence/ Entrée/ Sortie / fac / QT
WIC/ 1-0201/ 4/4/ MERISIER/ 2016-02-10 / 2016-02-27/ 4627 / 94932
CYM/ 1-0202/ 5/4/ ÉRABLE/ 2016-02-28 / 2016-03-16 / 4636 / 70250
WIC/ 1-0202/ 4/4/ CERISIER/ 2016-02-28 / 2016-03-16 / 4637 / 25694
voici le résultat que je souhaiterais obtenir :
Clients /Séchoirs/ Épais / Essence/ Entrée/ Sortie / Fac / QT
WIC /1-0201/4/4 /MERISIER/ 2016-02-10 2016-02-27 4627 94932
CYM-WIC/1-0202/5/4-4/4/ÉRABLE-CERISIER/2016-02-28/2016-03-16/4636-4637/
95 944
Je manque de place pour illustrer mais bon :
Si le # de séchoir dans la colonne B est le même : on regroupe les données (s'il y a lieu) des colonnes A / C/ D/ G
les colonnes E et F sont toujours les mêmes selon la colonne B
Et dans la dernière colonne il faudrait additionner les données
lorsque qu'il y a plusieurs données, l'élément de séparation serait "-"
Je ne sais pas si mes explications sont claires et je crois savoir que mon problème est assez complexe.. je suis débutante alors pour moi c'est vraiment au dessus de mes capacités..
Si quelqu'un a une idée.. voudrait m'aider.. m'éclairer un peu. Je suis prête à travailler, je ne demande pas du tout fait!
merci à l'avance, c'est vraiment apprécié ce que vous faites
Mélanie
A voir également:
- Excel regrouper plusieurs lignes en une seule
- Regrouper plusieurs feuilles excel en une seule - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
- Liste déroulante excel - Guide
- Formule moyenne excel plusieurs colonnes - Guide
- Déplacer une colonne excel - Guide
2 réponses
Bonjour,
Voici un code basique que tu devrais comprendre et qui réalise ta demande.
Voici un code basique que tu devrais comprendre et qui réalise ta demande.
Public Sub regrouper() Dim lig As Long, col As Integer For lig = 2 To Cells(Rows.Count, 1).End(xlUp).Row If Cells(lig, "B").Value = Cells(lig + 1, "B").Value Then For col = 1 To 7 If Cells(lig, col).Value <> Cells(lig + 1, col).Value Then Cells(lig, col).Value = Cells(lig, col).Value & "-" & Cells(lig + 1, col).Value End If Next col Cells(lig, 8).Value = Cells(lig, 8).Value + Cells(lig + 1, 8).Value Rows(lig + 1).Delete End If Next lig End Sub