XL 2013 Comparer deux listes et afficher les manquants

Sebast

XLDnaute Impliqué
Bonjour à toutes et à tous,

ma question concerne la comparaison de deux listes de données

Dans la feuille Table se trouve une liste d'emballages (champ "Emballage" provenant de SAP) et l'affectation que je leur ai assignée pour mes besoins futurs d'analyse (ex : 500 g x 10, 500 g x 12 etc. ont été rattachés par moi à la famille "500 g")

Dans la feuille Import mensuel se trouvent les ventes réalisées selon ces différents emballages, exprimées en nombre de colis

Tous les mois, la feuille Import mensuel est alimentée avec les données actualisées (via SAP). Il arrive que de nouveaux emballages soient créés et donc que je remonte des données avec des emballages non encore présents dans la Table

Mon besoin

Je cherche un moyen d’identifier les emballages présents en feuille Import mensuel qui ne figureraient pas en feuille Table. Puis de proposer un rattachement à la Famille correspondante (via userform ou msgbox).

Je sais identifier l'emballage nouveau avec un vlookup, qui mettrait par exemple une croix dans une colonne supplémentaire, puis afficher ces lignes mais quand il y a n fois la même entrée, cela s'affiche n fois (alors que je recherche le nom de l'emballage présent dans Import mensuel et absent dans Table)

Ma question

Il me semble que les dictionnaires permettent d'afficher de façon unique une entrée présente n fois dans une liste …

Faut-il un add-in (j'ai excel 2013) ?

Surtout, j'avoue mon ignorance des dictionnaires et ne pas savoir pas où commencer …

Faut-il absolument passer par un dictionnaire ou y a-t-il une solution plus simple ?

d'avance, merci
 

Pièces jointes

  • Tester_présence_06092016.xlsm
    32.3 KB · Affichages: 68

pierrejean

XLDnaute Barbatruc
Bonjour Sebast

Tu as raison dans ton cas les dictionnaires s'imposent
Vois si cela te convient

NB: je n'ai pas lancé ta sub Detecter de peur d être interpellé par une certaine Msgbox !!!!!

Edit : Salut JB
 

Pièces jointes

  • Tester_présence_06092016.xlsm
    40.2 KB · Affichages: 91
Dernière édition:

BOISGONTIER

XLDnaute Barbatruc
Repose en paix

Pièces jointes

  • Copie de Tester_présence_06092016-1.xls
    84.5 KB · Affichages: 90
Dernière édition:

mapomme

XLDnaute Barbatruc
Supporter XLD
Bonsoir à tous,

Un essai par formule. Il suffit de filtrer sur les X pour avoir les nouveaux emballages.

Formule en C2 à recopier vers le bas :
VB:
=SI(ET(NB.SI($A$2:A2;A2)=1;ESTERREUR(EQUIV(A2;Table!A:A;0)));"X";"")
 

Pièces jointes

  • Sebast- Tester_présence- v1.xlsm
    34.6 KB · Affichages: 89

Sebast

XLDnaute Impliqué
Bonjour à tous,

désolé pour ma réponse tardive, un empêchement de dernière minute …

Merci à tous pour votre aide


PierreJean

Sorry pour la msgbox ! je me suis rendu compte de l’erreur juste après avoir uploadé … Quand j’ai des embranchements un peu complexes, je mets un message volontairement percutant pour contrôler ce qui se passe … n’y vois rien de personnel !



Merci pour ta solution qui cerne bien mon besoin

Mais là aussi, je suis dans le brouillard … je comprends globalement l’articulation mais c’est compliqué, surtout quand je dois digérer et le dictionary et les variables tableaux (LBound, UBound etc.)


De manière à ce que je me familiarise progressivement avec les dictionaries, peux-tu modifier ton code (si cela est possible) en n’utilisant pas les LBound, UBound, keys, items etc. ?




JB

Très intéressant et original de passer par une fonction.

Cependant quelques questions car tout ça est nouveau pour moi :


Dans ton code, tu définis

a = champ1.Value

b = champ2.Value


mais je ne vois pas à quoi cela fait référence (comment affecte-t-on champ1 ? champ2 …)





MaPomme

Ta solution fonctionne, notamment en ce qu’elle ne retient bien qu’un élément unique lorsque plusieurs nouveaux apparaissent.

Cependant, c’est justement la colonne supplémentaire que je voulais éviter.




Encore merci à vous tous
 

pierrejean

XLDnaute Barbatruc
Re
Impossible d’éviter les tableaux (dont les dictionnaires )
J'ai commenté le code que tu devra potasser après avoir digéré tableaux et dictionnaires
Tu auras noté qu'entre ma solution et celle de JB il n'y a guère plus qu'une feuille de cigarette
 

Pièces jointes

  • Tester_présence_06092016.xlsm
    38.8 KB · Affichages: 104

Discussions similaires

Réponses
15
Affichages
1 K
Compte Supprimé 979
C