XL 2016 [RESOLU] Concatener des lignes si valeurs identiques dans 2 colonnes

  • Initiateur de la discussion Initiateur de la discussion ivan27
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

ivan27

XLDnaute Occasionnel
Bonsoir à tous,

Dans un fichier de longueur variable, je dois identifier les lignes dont les valeurs en colonnes B et L sont identiques.
Si c'est le cas, je dois :

1 - faire la somme des colonnes C et D
2 - Conserver en colonne A la référence de la première ligne concernée
3 - Recopier en colonne R, toutes les références de la colonne A, séparées par des "/".
4 - Conserver les valeurs d'origine sur les autres colonnes
5 - Supprimer les lignes d'origine.

Pour plus de clarté je vous joints un fichier exemple dans lequel j'ai ajouté les lignes 31 à 34 avec les résultats attendus. Dans cet exemple il reste juste à supprimer les lignes d'origine.
N'hésitez pas à me solliciter si je ne suis pas suffisamment clair.
Avec mes remerciements anticipés, je vous souhaite une excellente soirée
Ivan
 

Pièces jointes

Dernière édition:
Il s'agit d'un fichier extrait d'une application métier.
Il peut y avoir des données dans les colonnes que j'ai laissé vides.
De même, il y a des cas ou les dates en colonnes J et L peuvent être différentes. Aussi, il faut prendre en compte la colonne L.
 
Dans mon fichier exemple :
En B je trouve plusieurs fois le code 85.
Je prends toutes les lignes qui ont ce code 85 et une date identique en colonne L. Les lignes 3 à 7 répondent à ce critère.
Donc, j'additionne les valeurs de la colonne C soit 1748,23
J'additionne les valeurs de la colonne D, soit 6
Comme je concatène les lignes, il doit m'en rester une seule (voir ligne 31 en exemple de ce calcul)
En A je conserve la référence de la première ligne concerné par le regroupement.
En R, je note toutes les autres références séparées par des slashs.
Pour finir, je supprime les lignes 3 à 7 pour conserver uniquement la 31.

Si je ne suis pas suffisamment clair, je transmettrai un autre fichier demain avec des couleurs et des bulles d'aide.
Bonne nuit.
Ivan
 
Dernière édition:
Bonjour le forum,
J'espère que mes explications seront plus compréhensibles après une bonne nuit de sommeil.
En pièce jointe un nouveau fichier avec des onglets ''Origine'' et ''Résultat Attendu''.
J'ai mis des commentaires sur l'exemple de couleur jaune.
Merci d'avance pour votre aide.
Ivan
 

Pièces jointes

Bonjour ivan27, Lone-wolf 😉,

Un essai dans le fichier joint. Cliquez sur le bouton Hop! Le code est dans Module1.

EDIT : désolé, je n'avais pas vu que vous étiez sur MAC. La structure Dictionary n'est pas disponible sur MacOS. Donc ça ne fonctionnera pas pour vous.
 

Pièces jointes

Dernière édition:
Re,

EDIT : désolé, je n'avais pas vu que vous étiez sur MAC. La structure Dictionary n'est pas disponible sur MacOS. Donc ça ne fonctionnera pas pour vous.

Un essai d'une version qui doit être compatible avec MAC (et PC).
 

Pièces jointes

Dernière édition:
Bonjour mapomme 🙂

@ivan27 : il faut juste ajouter Application.ScreenUpdating = False pour ne pas avoir de sursaut de la feuille. Sinon, super travail de mapomme. 😉

Sub Regrouper()
Dim derlig&, tablo, clef, i&, aux, j&, N, ref, iref

Application.ScreenUpdating = False

With Worksheets("Origine")
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
7
Affichages
1 K
Réponses
2
Affichages
904
Retour