Comparer Deux Groupes de Données

Solutions Développées sous VBA
Verrouillé
admin
Site Admin
Site Admin
Messages : 342
Enregistré le : 04 oct. 2020, 20:48

Comparer Deux Groupes de Données

Message par admin »

~ ~ ~ ~ ~ ~ ~ ~
Vous voulez comparer deux groupes de données, pour identifier simplement des écarts possibles.

La solution est ici: Comparer_Contenu (clic-droit, enregistrer sous)

Mode d'emploi:
  • Intégrer la source fournie dans votre code
    • /!\ Attention, il vous faudra également Ajouter_Si_Nouveau pour convertir les données en tableaux, Retirer_Si_Existant pour retirer des tableaux les données existantes dans l'autre, Imploser pour l'affichage des tableaux de résultats.
  • Faire l'appel à la fonction : x_Nombre = Comparer_Contenu(x_LeRange1, x_LeRange2, opt. x_LeSens, opt. x_PasdInfo)
    • x_Nombre = Comparer_Contenu(x_Range1, x_Range2) :
      • x_Nombre contiendra le nombre d'éléments uniques différents dans Range1 et dans Range2.
      • Un Message d'Information présente les résultats détaillés.
    • x_Nombre = Comparer_Contenu(x_Range1, x_Range2, "<") :
      • Se comportera comme attendu, mais seules les données de Range1 qui sont présentes dans Range2 seront supprimées.
    • x_Nombre = Comparer_Contenu(x_Range1, x_Range2, ">") :
      • Se comportera comme attendu, mais seules les données de Range2 qui sont présentes dans Range1 seront supprimées.
    • x_Nombre = Comparer_Contenu(x_Range1, x_Range2, "<>", true) :
      • Se comportera comme attendu, mais aucun message d'information ne s'affichera.
  • Où :
    • x_Nombre = contiendra le nombre d'éléments orphelins (non-trouvés dans l'autre zone), 0 si aucun élément n'est inconnu (tous supprimés).
    • x_Range1 = Premier groupe de valeurs à comparer, ou a prendre comme référence
    • x_Range2 = Second groupe de valeurs à comparer, ou a prendre comme référence
    • x_LeSens = "<" pour retirer uniquement le Range2 du Range1, ">" pour l'inverse, et "><" (croisé par défaut)
    • x_PasdInfo = Booléen optionnel devant être à vrai pour que les messages d'information ne soient pas affichés.
  • Astuce :
    • Pour appeler la fonction dans une formule, remplacer les "," par des ";" et suivre l'ordre des options :
      =Comparer_Contenu( B:B ; D1:F50 )
      =Comparer_Contenu( B:B ; D1:F50; "<" ; vrai )
  • Aperçu :
    • Aperçu de l'Utilisation de la macro comme fonction :
      Image
Suivi des évolutions:
  • 2013.02.16 (v1.00) : Création initiale, fournit le nombre d'écarts constatés.
  • 2021.03.20 (v1.10) : Refonte complète pour compatibilité des versions Office et VBA.
  • 2022.01.07 (v1.20) : Ajoute la possibilité de ne comparer que dans un sens.
  • 2022.01.08 (v1.21) : Ajout de précisions dans l'affichage des résultats (Zones et Valeurs).
  • 2022.01.26 (v1.22): Améliore la stabilité du programme et compatibilité VBA7

Un Poka-Yoké de détection simple pour identifier des éléments manquants...
Verrouillé