De nouveau je fais appel à vos connaissances, car les miennes sont limitées.
Je souhaiterais comparer deux listes de la manière suivante :
Feuil 2 -> « une liste variable », qui peut contenir un grand nombre d’entrées.
Elle peut être composée de plusieurs fois le même « ID » avec même valeur ou différente ou vide .
Elle n’est pas forcément classée par ordre alphabétique et peut contenir des lignes vides.
Il se peut aussi qu’il n’y ait pas de correspondance ( id ) à comparer.
Rechercher/comparer sur Feuil 1 -> « liste fixe »
Si « valeur » de feuil2 est égale à « vide » ne pas prendre en compte
Si « valeur » de feuil2 est différents de feuil1 mettait en évidence en feuil2 les résultats avec un marqueur « X » dans la cellule de gauche
Un petit exemple qui devrait être plus explicite
Si vous avez une solution avec une formule je pourrai certainement m’en contenter
Tout d'abord merci pour ta proposition. *l'image et le fichier joint ne sont là que pour exemples. Et pour être honnête j'ai fermé mon classeur sans l'enregistrer après avoir fait la Screenshots .. alors j'ai recommencé avec d'autres données
J'ai apporté une toute petite modification pour que ça corresponde à ma demande:
Néanmoins je laisse le sujet ouvert, si une personne se présente à proposer une solution en Vba je serai encore plus satisfait pour la suite de mon projet.
Dans un premier temps désolé de ma réaction légèrement tardive mes journées ont bien été remplies
Je tiens à te remercier pour ton implication et ta nouvelle proposition, qui en application est viable.
Dans la même idée j'étais parti sur une macro de ce type, sans boucle avec un contrôleur pour déclencher ( en fonction des modifications apporté à ma liste ).
Mais pour la suite de mon projet ça implique que je dois copier/coller des colonnes et autres manipulations.
Ce n'est pas vraiment pratique ni optimisé pour mes besoins.
Il me faudrait une macro qui boucle sur toutes les lignes et qui effectue ma demande.
De plus je pourrais utiliser et adapter cette méthode sur d'autres besoins, j'ai d'autre comparaisons avec plusieurs critères du même acabit ( une fois que j'aurais compris le schmilblick )
De mon côté j'ai commencé un petit quelque chose qui n'est pas encore abouti:
VB:
Sub test()
Dim DATA As Object 'déclare la variable DATA (DATA liste variable )
Dim LISTE As Object 'déclare la variable LISTE (LISTE liste fixe)
Dim DL As Integer 'déclare la variable DL (Dernière Ligne)
Dim TC As Variant 'déclare la variable TC (Plage de cellule)
Dim I As Integer 'déclare la variable I (Incrément)
Dim RN As Range 'déclare la variable RN (Recherche Nom)
Dim RV As Range 'déclare la variable RN (Recherche Valeur)
Sheets("DATA").Select
Columns("C:C").Select
Selection.Clear
Set DATA = Sheets("DATA") 'définit l'onglet DATA
Set LISTE = Sheets("LISTE") 'définit l'onglet LISTE
DL = DATA.Cells(Application.Rows.Count, 1).End(xlUp).Row 'définit la dernière ligne éditée de la colonne 1(A) de l'onglet DATA
TC = DATA.Range("A1:A" & DL) 'définit la plage
For I = UBound(TC, 1) To 2 Step -1 'boucle inversée sur toutes les lignes de ma plage TC (de la dernière à la première)
Set RN = LISTE.Columns(1).Find(TC(I, 1), , xlValues, xlWhole) ' Sur classeur: LISTE(liste var), colonne 1, si trouve une occurence sur classeur DATA: ma plage (TC) pour chacune des lignes alors:
If Not RN Is Nothing Then DATA.Rows(I).Cells(3).Value = "X" 'ajout d'un marqueur "X" en colonne 3 (C)
Next I
Range("A1").Select
End Sub
Pour le moment le résultat en sortie de la boucle ne fonctionne que sur les occurrences des colonnes A de la feuil "DATA" & colonne A de la feuil "LISTE "
Mon problème est que je ne sais pas vraiment comment imbriquer une seconde condition:
Si colonne A de DATA = colonne A LISTE, alors NE comparer que les valeurs des colonnes B/DATA & B/LISTE
Si résulta différent alors mettre un marqueur "x" en colonne C / DATA
J'ai bien essayé certaines choses, mais mes compétences et connaissances en VBA sont encore trop limitées
J'ai bien espoir que tu puisses m'éclairer de ta lanterne @Phil69970
1)Dans ton 2eme fichier ce n'est plus la même liste !
2)Les noms de tes onglets sont différents entre le 1er et 2eme fichier !
D’où l'utilité de fournir un fichier - représentatif, même organisation des lignes et des colonnes, mêmes libellés, mêmes noms de feuilles...
- anonymisé, pas de données personnelles réelles tels nom, n° sécu, adresse ... - simplifié, une quinzaine de lignes reproduisant l'ensemble des différents cas envisageables
Pour rappel le principe du forum une question ==> une ou des réponses de un ou plusieurs intervenants
-Si tu veux je peux adapter le fichier du post #4 avec par exemple un nombre variable de ligne pour l'onglet liste ? (On est toujours dans la même question avec une demande d'adaptation)
-Maintenant si tu veux complétement autre chose je te suggère de faire une autre demande avec ton autre question...
-Mais j'ai plutôt l'impression que tu veux réinventer la roue avec une usine à gaz et c'est beaucoup plus compliqué....
-Si tu veux je peux adapter le fichier du post #4 avec par exemple un nombre variable de ligne pour l'onglet liste ? (On est toujours dans la même question avec une demande d'adaptation)