comparaison deux classeurs

Laguich

XLDnaute Junior
Bonsoir à tous,
le sujet a surement été déjà abordé, mais je ne trouve pas la solution.
J'ai un classeur que l'on nomme delta, avec en feuille1 une liste de 90 joueurs.
et un classeur que je nomme inscrits, une feuille 1 une liste de maximum 64 joueurs.
je voudrais comparer les deux listes, nom (colonne a), prenom (colonneB) points (colonneC) pour les joueurs présents dans les deux listes, on ajoutes un X dans la quatrième colonne du classeur delta, et pour les joueurs qui sont présent que dans le classeur incrits, on les ajoute au classeur delta avec une croix dans la quatrieme colonne.
Je n'ai pas mis d'exemple concret, je pense que cela ce comprend. Dites moi si besoin.
Merci d'avance.
 

CISCO

XLDnaute Barbatruc
Bonsoir

Le début du travail en pièce jointe, avec des formules matricielles (en rouge) à valider avec les touches Ctrl+maj+entrer. Le deuxième fichier doit être ouvert.

@ plus
 

Pièces jointes

  • delta.xlsx
    20.1 KB · Affichages: 34
  • inscrits.xlsx
    12.6 KB · Affichages: 35

Laguich

XLDnaute Junior
Merci pour ta réponse, mais j'ai vu que tu fonctionnes avec des formules et moi c'est pas possible.
Dans le fichier Delta, la liste de noms,prénoms,points et club, peux se remplir soit avec Userform soit via la comparaison des deux fichiers. Le fichier inscrits, est un fichier que je récupère sur notre site pour ceux qui se sont préalablement inscrits pour tel ou tel journée de tournoi. Je joins le fichier Delta (pour voir la forme) et le fichier inscrits tel que je le charge du site. Ce que je veux faire c'est donc comparer la liste delta qui ont déjà fait la journée 1 et 2 et le fichier inscrits pour la journée 3. Si il apparaissent dans les deux on met un x dans la case J3 de leur nom et si non, on les ajoute a Delta avec un X en J3.
Espérant m'être bien expliquer.
Merci d'avance.
 

Pièces jointes

  • delta.xlsx
    17.2 KB · Affichages: 38
  • inscrits.xlsx
    9.9 KB · Affichages: 36

Laguich

XLDnaute Junior
Bon j'avance en faisant deux modules.
Il me reste à trouver le problème sur le deuxième module qui ne fonctionne pas.
Code:
Sub Find()
    Dim CompareRange As Variant, xa As Variant, y As Variant
    Dim selection
    Dim dlig As Long ' dernière ligne
    Set CompareRange = Worksheets("Feuil2").Range("A1:a25")
    Set selection = Worksheets("Feuil1").Range("b2:b96")
    dlig = Worksheets("Feuil1").Range("B" & Rows.Count).End(xlUp).Row
    For Each xa In selection
        For Each y In CompareRange
            If xa = y And xa.Offset(0, 1) = y.Offset(0, 1) Then xa.Offset(0, 4) = "x"
        Next y
    Next xa
    Find2
End Sub
avec celui ci je cherche dans la feuille 2 les gens qui correspondent à la feuille 1 et j'ajoute un X : ca marche.

Mais avec ce code :
Code:
Sub Find2()
    Dim CompareRange As Variant, xa As Variant, y As Variant
    Dim selection
    Dim dlig As Long ' dernière ligne
    Set CompareRange = Worksheets("Feuil2").Range("A1:a25")
    Set selection = Worksheets("Feuil1").Range("b2:b96")
    dlig = Worksheets("Feuil1").Range("B" & Rows.Count).End(xlUp).Row
        For Each xa In selection
        For Each y In CompareRange
            If xa <> y And xa.Offset(0, 1) <> y.Offset(0, 1) Then xa.Offset(dlig, 0) = y And xa.Offset(dlig, 1) = y.Offset(0, 1) And xa.Offset(dlig, 2) = y.Offset(0, 2) And xa.Offset(dlig, 3) = y.Offset(0, 3) And xa.Offset(dlig, 4) = y.Offset(0, 4)
        Next y
    Next xa
End Sub
Cela n'ajoute pas comme prévu ceux qui n'appatiennent pas à la liste feuille 2 dans la liste feuille 1.
Merci d'avance
 
Dernière édition:

Discussions similaires

Réponses
5
Affichages
530

Statistiques des forums

Discussions
312 198
Messages
2 086 153
Membres
103 137
dernier inscrit
Billly