Comment dédoublonner "intelligemment" un fichier excel ?

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 !

laguigne59

XLDnaute Nouveau
Bonjour,
je ne suis pas experte, et je passe beaucoup de temps à dédoublonner manuellement mes fichiers.
J'ai bien tenté de le faire via une macro, mais je me heurte au fait que les valeurs présentes dans mes colonnes ne sont pas identiques, et donc une intervention manuelle est nécessaire.

Mon problème est le suivant : j'ai des produits commandés par des magasins. Certains de ces produits peuvent être proposés par lot. Les produits (et donc aussi les lots) peuvent participer à une promotion nationale ou pas.

J'aimerai dédoublonner mon fichier pour faire abstraction des lots, et donc travailler uniquement sur le code produit, en reprenant sur une seule ligne :
code produit - sélection mag A - sélection mag B - sélection mag C - sélection totale - promo - promo mag A - promo mag B - promo mag C
de cette manière : si j'ai une sélection mag sur un lot (même si ce n'est pas le premier), alors je considère le produit comme sélectionné pour le magasin, et dans sélection totale je prends également le max de magasins ayant commandé le produit (quelque soit le lot). Idem pour la promo nationale : si un lot est en promo locale et le suivant en promo nationale, c'est la promo nationale qui prime.

Je vous joins le fichier exemple avec sur le 1er onglet le fichier initial et sur le 2nd ce que je veux obtenir.

Mon fichier réel traite 10000 produits, donc manuellement c'est très long !

Merci de m'aiguiller,
Laguigne
 

Pièces jointes

Re : Comment dédoublonner "intelligemment" un fichier excel ?

Merci beaucoup,
effectivement cela fonctionne bien (sur la partie droite de la feuille n°2)
Par contre, je ne comprends pas tout ton code, donc si tu avais quelques minutes pour mettre en commentaire ce que tu fais, cela m'aiderait à progresser 🙄

Laguigne
 
Re : Comment dédoublonner "intelligemment" un fichier excel ?

Bonjour,

je recherche depuis un certains moment une solution (une macro) qui me permettrais de déboulonner des items par ligne. Elle doit surement exister dans le forum mais je n'ai aps encore trouvé la bonne macro.

Par exemple :
ID GENRE 1 GENRE 2 GENRE 3 GENRE 4 GENRE 5 ....
1 ABOYEUR ABOYEUR LILI TOTO TOTO
2 TOTO TOTO TOTO LILI TOTO
3 LILI TOTO TOTO ABOYEUR ABOYEUR
4 TOTO TOTO ABOYEUR ABOYEUR ABOYEUR
5 TOTO TOTO ABOYEUR TOTO
...
jusqu'a 12000 lignes

et j'aimerais obtenir après dedoublonnage :
ID GENRE 1 GENRE 2 GENRE 3 GENRE 4 GENRE 5 ...
1 ABOYEUR LILI TOTO
2 TOTO LILI
3 LILI TOTO ABOYEUR
4 TOTO ABOYEUR
5 TOTO ABOYEUR

J'espère que mon exemple est assez clair, je joins un fichier xls en exemple.

Un grand merci pour ceux et celle qui peuvent m'aider.
 

Pièces jointes

Re : Comment dédoublonner "intelligemment" un fichier excel ?

Bonsoir,

Méthode rapide

cf pj

Code:
Sub SupDoublonsCol()
  Application.ScreenUpdating = False
  Set f1 = Sheets("BD")
  Set f2 = Sheets("resultat")
  a = f1.Range("A3:AO" & [a65000].End(xlUp).Row)
  Dim c()
  ReDim c(1 To UBound(a, 1), 1 To UBound(a, 2))
  For lig = 1 To UBound(a)
    Set dico = CreateObject("Scripting.Dictionary")
    For col = 2 To UBound(a, 2)
      If a(lig, col) <> "" Then dico(a(lig, col)) = ""
    Next col
    c(lig, 1) = a(lig, 1)
    col = 2
    For Each clé In dico.keys
      c(lig, col) = clé
      col = col + 1
    Next clé
  Next lig
  Sheets("resultat").[A2].Resize(UBound(a, 1), UBound(a, 2)) = c
End Sub

jb
 

Pièces jointes

Dernière édition:
- 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

Retour