Bonjour,
Pas expert en VBA, j'ai récupéré un code pour comparer les valeurs dans 2 colonnes (A et B) et afficher en colonne C les valeurs identiques mais je voudrais que la valeur trouvée ne s'affiche qu'une fois et non 2 fois en C. Pouvez-vous me dire comment modifier le code ?
Par ailleurs, je voudrais également pouvoir faire la même chose sur d'autres données et dans ce cas il s'agit de comparer les valeurs de 2 colonnes (A = Nom et B= Prénom) avec celles de 2 autres colonnes (C = Nom et D = Prénom) et afficher en E et F les noms et prénoms identiques. Tous les codes trouvés sur le net me proposent d'afficher les valeurs différentes ce qui ne me convient pas (j'ai une dizaine de valeurs identiques pour plusieurs milliers de valeurs comparées). A noter que les colonnes à comparer A/B et C/D n'ont pas le même nombre de lignes.
Merci à vous pour l'aide que vous pourrez m'apporter.
Code initial :
Sub ListeDoublons()
Dim Plage As Range, C As Range
Dim Ligne As Long
With Worksheets("feuille1!")
Ligne = 1
Set Plage = .Range("A1").CurrentRegion
For Each C In Plage
If C <> "" Then
If Application.CountIf(Plage, C) <> 1 Then .Range("C" & Ligne) = C.Value: Ligne = Ligne + 1
End If
Next C
End With
End Sub
Pas expert en VBA, j'ai récupéré un code pour comparer les valeurs dans 2 colonnes (A et B) et afficher en colonne C les valeurs identiques mais je voudrais que la valeur trouvée ne s'affiche qu'une fois et non 2 fois en C. Pouvez-vous me dire comment modifier le code ?
Par ailleurs, je voudrais également pouvoir faire la même chose sur d'autres données et dans ce cas il s'agit de comparer les valeurs de 2 colonnes (A = Nom et B= Prénom) avec celles de 2 autres colonnes (C = Nom et D = Prénom) et afficher en E et F les noms et prénoms identiques. Tous les codes trouvés sur le net me proposent d'afficher les valeurs différentes ce qui ne me convient pas (j'ai une dizaine de valeurs identiques pour plusieurs milliers de valeurs comparées). A noter que les colonnes à comparer A/B et C/D n'ont pas le même nombre de lignes.
Merci à vous pour l'aide que vous pourrez m'apporter.
Code initial :
Sub ListeDoublons()
Dim Plage As Range, C As Range
Dim Ligne As Long
With Worksheets("feuille1!")
Ligne = 1
Set Plage = .Range("A1").CurrentRegion
For Each C In Plage
If C <> "" Then
If Application.CountIf(Plage, C) <> 1 Then .Range("C" & Ligne) = C.Value: Ligne = Ligne + 1
End If
Next C
End With
End Sub