Macro pour identifier les doublons sur 2 critères

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 !

chris6999

XLDnaute Impliqué
Bonjour

Je cherche un code me permettant non pas de supprimer mais de conserver uniquement les doublons (ou éventuellement de les identifier).
Dans la plage A2:F2000
Identifier les doublons répondant aux conditions suivantes
cellule A = A+1 et la cellule C = C+1 (exemple si A2= A3 et C2 = C3 alors il s'agit d'un doublon)
Mettre la valeur "DOUBLON" dans la colonne F de la ligne correspondante.

Auriez-vous une solution?
Merci d'avance
Bonne soirée
 

Pièces jointes

Re : Macro pour identifier les doublons sur 2 critères

Bonjour Pierrot

Bien sûr j'ai essayé mais cela ne passe pas. Pour info le code obtenu et adapté.

Bonne journée

Sub teste()

Dim Plage As Range
Set Plage = Range(ActiveSheet.Rows(2), ActiveSheet.[A20000].End(xlUp))
With Plage.Columns("J")
.FormulaR1C1 = "=IF(AND(RC1=OFFSET(RC1,-1,0),RC3=OFFSET(RC3,-1,0))"
Plage.Columns("D").Value = "dOUBLON"

End With
End Sub
 
Re : Macro pour identifier les doublons sur 2 critères

Re,

je pense qu'il faut placer la formule dans une seule cellule, non dans une plage, et ensuite utiliser la méthode "autofill", double click sur le petit carré noir en bas à droite de la cellule, ce avec l'enregistreur de macro....
 
Re : Macro pour identifier les doublons sur 2 critères

Re,

avec l'enregistreur de macro, cellule active = D2 de ta feuille 1, cela donne ceci :
Code:
    ActiveCell.FormulaR1C1 = _
        "=IF(AND(RC1=OFFSET(RC1,-1,0),RC3=OFFSET(RC3,-1,0)),""Doublon"","""")"
    Range("D2").Select
    Selection.AutoFill Destination:=Range("D2:D14")

que l'on pourrait ensuite optimiser de la sorte :
Code:
With Range("D2")
     .FormulaR1C1 = "=IF(AND(RC1=OFFSET(RC1,-1,0),RC3=OFFSET(RC3,-1,0)),""Doublon"","""")"
     .AutoFill Destination:=Range("D2:D" & Range("C65536").End(xlUp).Row)
End With
 
Re : Macro pour identifier les doublons sur 2 critères

Merci Pierrot

J'ai pris ton deuxième code qui fonctionne très bien.
Par contre je me rends compte qu'il faut une nouvelle condition. A savoir ne traiter que les lignes où A est non vide. En effet je ne sais jamais le nombre de lignes à traiter.

J'ai essayé
Sub TESTPIERROT()
With Range("D2")
If Range("A2") <> "" Then
.FormulaR1C1 = "=IF(AND(RC1=OFFSET(RC1,-1,0),RC3=OFFSET(RC3,-1,0)),""Doublon"","""")"
.AutoFill Destination:=Range("D2😀" & Range("C65536").End(xlUp).Row)

End If
end with
End Sub

Cela fonctionne à priori.

Je te remercie encore pour ton aide
Bonne journée
Cordialement
 
Re : Macro pour identifier les doublons sur 2 critères

Re,

Par contre je me rends compte qu'il faut une nouvelle condition. A savoir ne traiter que les lignes où A est non vide. En effet je ne sais jamais le nombre de lignes à traiter.
euh... pas tout compris... A savoir le code proposé, détermine la dernière ligne en trouvant la dernière cellule renseignée de la colonne C....
 
Re : Macro pour identifier les doublons sur 2 critères

Re,

si tu risques de n'avoir que les titres de colonnes de renseignés :
Code:
If Range("A65536").End(xlUp).Row > 1 Then
    With Range("D2")
        .FormulaR1C1 = "=IF(AND(RC1=OFFSET(RC1,-1,0),RC3=OFFSET(RC3,-1,0)),""Doublon"","""")"
        .AutoFill Destination:=Range("D2:D" & Range("C65536").End(xlUp).Row)
    End With
End If
 
Re : Macro pour identifier les doublons sur 2 critères

Bonjour.
e pense qu'il faut placer la formule dans une seule cellule, non dans une plage
C'est faux, AutoFill n'est jamais nécessaire dans les macros. L'adaptation initiale était mauvaise seulement.
VB:
Sub teste()

Dim Plage As Range
Set Plage = Range(ActiveSheet.Rows(2), ActiveSheet.[A20000].End(xlUp))
Plage.Columns("J").FormulaR1C1 = "=IF(AND(RC1=OFFSET(RC1,-1,0),RC3=OFFSET(RC3,-1,0)),""Doublon"","""")"

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

Discussions similaires

N
Réponses
2
Affichages
860
Nyco129
N
M
Réponses
4
Affichages
701
MrNathan58
M
K
Réponses
5
Affichages
2 K
kondabalo
K
Retour