Comparaison de liste de nom, prenom
Bonjour,
Voila mon soucis, je possède deux liste sur deux pages différentes sur Excel, ces deux liste sont en fait un nom de famille suivi d'un prénom.
Page 1, colone i depart cellule 4 (donc premier nom en i4, puis i5 etc...)
Remi, Martin
Dupont, Jean
Nom, Prenom,...
Pages 2, colone D cellule 4 (donc premier nom en d4, puis d5, etc...)
Valjean, Jean
Remi, Martin
Scorcèse, jofray
Nom, Prenom,...
Je voudrait que sur une troisieme pages apparaisse les noms des personnes en doublons en rouges.
Est ce possible?
une condition que si le nom est déjà sortie alors que le nom soit en rouge... mais je n y arrive pas.
Merci de vos conseils
Bonjour,
le code ci dessous est évidement à adapter car de base elle me sert a trouver des doublons sur 2 colonne de taille identique
' trouver le nombre de ligne
ligneMax = Range("D" & Rows.Count).End(xlUp).Row
'mettre dans deux tableau les valeur des 2 feuille
For i = 2 To ligneMax
t1(i - 2).valeur = Sheets("feuil1").Cells(i, 4) 'le nom des feuille a adapter
t2(i - 2).valeur = Sheets("feuil2").Cells(i, 9)
t1(i - 2).ligne = i
t2(i - 2).ligne = i
Next i
Dim g As Integer
g = 0
While t1(g).valeur <> ""
g = g + 1
Wend
Sheets("feuil3").Activate
ligne = Range("A" & Rows.Count).End(xlUp).Row
For i = 0 To g
For j = 0 To g
'comparer les 2 tableau a la recherche de doublons
If t1(i).valeur = t2(j).valeur Then
'si on trouver un doublons mettre la valeur dans la colonne A de la feuille 3
Cells(ligne, 1) = t1(i)
Exit For
End If
Next j
Next iBonsoir, merci pour ce code.
Il pourrait en effet faire l affaire mais mes colonnes ne sont.pas de tailles identiques, et surtout les nom et prénoms sont en décaler.
Merci.
Bonjour,
Voici un code que j'avais utilisé pour comparer des n° dans 2 tableaux de taille différente
'Macro pour faire la comparaison entre 2 tableaux
Sub Comparaison()
'Définition de variable en tant que chaine de caractères
'Dim A As String
Dim B As String
Dim C As String
Dim D As String
Dim E As String
Dim F As String
'Dim K As String
Dim L As String
Dim M As String
Dim N As String
Dim O As String
Dim P As String
Dim i As Long
Dim j As Long
Dim DerniereLigne1 As Integer
Dim DerniereLigne2 As Integer
'Pour trouver la dernière ligne du tableau 1 (en colonne B)
DerniereLigne1 = Range("B" & Rows.Count).End(xlUp).Row
'Pour trouver la dernière ligne du tableau 2 (en colonne J)
DerniereLigne2 = Range("J" & Rows.Count).End(xlUp).Row
'Initialisation des indices de ligne
i = 5
j = 5
'Stockage des valeurs des cellules du tableau 1 dans plusieurs variables
Do While i < DerniereLigne1
'A = Worksheets("Comparaison").Cells(i, 2).Value
B = Worksheets("Comparaison").Cells(i, 3).Value
C = Worksheets("Comparaison").Cells(i, 4).Value
D = Worksheets("Comparaison").Cells(i, 5).Value
E = Worksheets("Comparaison").Cells(i, 6).Value
F = Worksheets("Comparaison").Cells(i, 7).Value
'Lorsque la table 2 est finie d'être balayer on passe à la ligne suivante du tableau 1 et on recommence à balayer le tableau 2 donc on réinitialise l'indice de ligne de la table 2 à la première ligne
j = 5
'Stockage des valeurs des cellules du tableau 1 dans plusieurs variables
Do While j < DerniereLigne2
'K = Worksheets("compa. w - w+1").Cells(j, 9).Value
L = Worksheets("Comparaison").Cells(j, 10).Value
M = Worksheets("Comparaison").Cells(j, 11).Value
N = Worksheets("Comparaison").Cells(j, 12).Value
O = Worksheets("Comparaison").Cells(j, 13).Value
P = Worksheets("Comparaison").Cells(j, 14).Value
'Si une correspondance est trouvée, on colore les lignes identiques (dans les 2 tables)
If B = L And C = M And D = N And E = O And F = P Then 'ajouter "A <> K And" après le "If" si condition sur la date
'Cells(i, 2).Interior.Color = RGB(255, 99, 71)
Cells(i, 3).Interior.Color = RGB(255, 99, 71)
Cells(i, 4).Interior.Color = RGB(255, 99, 71)
Cells(i, 5).Interior.Color = RGB(255, 99, 71)
Cells(i, 6).Interior.Color = RGB(255, 99, 71)
Cells(i, 7).Interior.Color = RGB(255, 99, 71)
'Cells(j, 9).Interior.Color = RGB(255, 99, 71)
Cells(j, 10).Interior.Color = RGB(255, 99, 71)
Cells(j, 11).Interior.Color = RGB(255, 99, 71)
Cells(j, 12).Interior.Color = RGB(255, 99, 71)
Cells(j, 13).Interior.Color = RGB(255, 99, 71)
Cells(j, 14).Interior.Color = RGB(255, 99, 71)
End If
j = j + 1
Loop
i = i + 1
Loop
End Sub