Trouver des doublons et les afficher

Résolu
nlbmoi Messages postés 434 Date d'inscription   Statut Membre Dernière intervention   -  
nlbmoi Messages postés 434 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour

Mon fichier contient sur la 1ère feuille (Arbitre) une base de clubs (colonne B) évoluant dans des championnats (colonne A) et l'arbitre qui correspond (colonne D).
Dans la seconde feuille, je souhaite vérifier qu'il n'existe pas de doublon c'est à dire qu'un arbitre n'apparaisse pas deux fois dans la feuille Arbitre: si c'est le cas, j'aimerai faire apparaître dans la colonne S les niveaux des équipes (pour un même club) qui ont le même arbitre dans la ligne correspondante de la feuille DAFA.
J'ai mis en surligné jaune dans la feuille DAFA ce que cela doit donner avec l'exemple pris.

Mon fichier : https://www.cjoint.com/c/IKqvUSt3lVK

Pour information, dans mon fichier, je récupère dans la 2ème feuille les clubs sans arbitre et les clubs où l'arbitre n'a pas arbitré à l'aide d'une macro

Merci

PS : j'ai masqué dans le fichier les colonnes qui ne servent pas pour ma demande.
A voir également:

2 réponses

Raymond PENTIER Messages postés 58988 Date d'inscription   Statut Contributeur Dernière intervention   17 353
 



Bonsoir.

Je n'y connais rien en macro.

Mais pour savoir quels arbitres apparaissent plusieurs fois en colonne D de la feuille <Arbitre>, il suffit de saisir en S5 la formule =NB.SI(D:D;D5) et de la recopier vers le bas ...

0
via55 Messages postés 14512 Date d'inscription   Statut Membre Dernière intervention   2 746
 
Bonjour

Dans ta macro entre End With et Next i rajoute ces lignes :
     aff = ""
       For n = 5 To Arb.[D1000].End(xlUp).Row
        nba = Application.WorksheetFunction.CountIfs(Arb.Range("B:B"), Daf.Range("A" & i), Arb.Range("D:D"), Arb.Range("D" & n))
            If nba > 1 And Application.WorksheetFunction.CountIfs(Arb.Range("B5:B" & n), Daf.Range("A" & i), Arb.Range("D5:D" & n), Arb.Range("D" & n)) = 1 Then
                For t = n To Arb.[D1000].End(xlUp).Row
                 If Arb.Range("D" & t) = Arb.Range("D" & n) Then aff = aff & Arb.Range("A" & t) & "/"
                Next t
            End If
       Next n
     If aff <> "" Then Daf.Range("S" & i) = Left(aff, Len(aff) - 1)

Et n'oublie pas dans ton ClearContents au début de faire aussi effacer la colonne S

Cdlmnt
Via
0
nlbmoi Messages postés 434 Date d'inscription   Statut Membre Dernière intervention   24
 
nickel, ça marche, merci
0