macro pour doublon 2 colonnes

  • Initiateur de la discussion Initiateur de la discussion DARKMOON
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

D

DARKMOON

Guest
salut a tous
voici mon problème, j'utilise la macro suivante pour trier mes doublons
dans ma colonne A dans une feuille qui compte 5 colonnes
je voudrais maintenant que ma macro repère les doublons des colones A et B

VOICI UN EXEMPLE:

A B
1 ab21 100
2 ab21 123
3 ab21 100
4 ab21 100
5 ab21 155
6 ab54 90
7 ab98 458

dans ce cas seules les lignes 3 et 4 sont des doublons...

voici ma macro qui ne trie que la colonne A:

Sub macro()

Dim i, j As Integer

For i = 1 To 1199
For j = i + 1 To 1200
If Range("A" & i).Value = Range("A" & j) Then
Range("A" & j).Font.ColorIndex = 3
Range("A" & j).Interior.ColorIndex = 6

Range("B" & j).Font.ColorIndex = 3
Range("B" & j).Interior.ColorIndex = 6

Range("C" & j).Font.ColorIndex = 3
Range("C" & j).Interior.ColorIndex = 6

Range("D" & j).Font.ColorIndex = 3
Range("D" & j).Interior.ColorIndex = 6

Range("E" & j).Font.ColorIndex = 3
Range("E" & j).Interior.ColorIndex = 6

Exit For
End If
Next j
Next i

End Sub

MERCI POUR VOTRE AIDE
 
Hello all,

Voici une macro que j'ai ecrit pour comparer les chiffres de ma colonne A avec ceux de la B.

Mais nombres font 12 chifffres en A et 13 e, B, c'est donc pour ca que je compare ma colonne A au 12 premiers seulement de la B.

S'il y a doublon, les valeurs sont coloriées en Jaune en Colonne A et B et copiées en D & E. A toi d'addapter en fonction de tes besoins !!!

++

Creepy

Dim EAN12 As Range
Dim EAN13 As Range
Dim Cell As Range
Dim i As Integer, x As Integer

Set EAN12 = Sheets(1).Range("A2:A" & Range("A65536").End(xlUp).Row)
Set EAN13 = Sheets(1).Range("B2:A" & Range("B65536").End(xlUp).Row)
x = 2

For Each Cell In EAN12
For i = 1 To EAN13.Count
If CStr(Cell) = CStr(Left(Cells(i, 2), 12)) Then
Cells(x, 4) = Cell: Cells(x, 5) = Cells(i, 2)
Cell.Interior.ColorIndex = 6: Cells(i, 2).Interior.ColorIndex = 6
x = x + 1
End If
Next i
Next Cell

End Sub
 
salut Darkmoon, Creepy, le forum

je propose cette adaptation de ta macro. J'ai juste rassemblé pour chaque ligne les deux valeurs sous une meme chaine de caractère. Après il y a peu être plus efficace, ca dépend du nb de données que tu as.

Sub doublons()

Dim DerLigne As Integer
Dim i As Integer, j As Integer
Dim Stringi As String, Stringj As String

DerLigne = Range("A65000").End(xlUp).Row

For i = 1 To DerLigne
Stringi = Range("A" & i) & Range("B" & i)
For j = i + 1 To DerLigne
Stringj = Range("A" & j) & Range("B" & j)
If Stringi = Stringj Then
Range("A" & j).Font.ColorIndex = 3
Range("A" & j).Interior.ColorIndex = 6

Range("B" & j).Font.ColorIndex = 3
Range("B" & j).Interior.ColorIndex = 6

Range("C" & j).Font.ColorIndex = 3
Range("C" & j).Interior.ColorIndex = 6

Range("D" & j).Font.ColorIndex = 3
Range("D" & j).Interior.ColorIndex = 6

Range("E" & j).Font.ColorIndex = 3
Range("E" & j).Interior.ColorIndex = 6
End If
Next
Next
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
4
Affichages
585
Réponses
5
Affichages
717
Réponses
8
Affichages
655
  • Question Question
Microsoft 365 Export données
Réponses
4
Affichages
812
  • Question Question
Microsoft 365 VBA Transpose
Réponses
11
Affichages
869
Retour