Suppression de doublon

Bonjour,

Je suis coincé avec les doublons...

Je cherche à supprimer les doublons des feuilles 1 à 3 sans toucher aux 3 premières lignes et chaque fois, ça ne marche pas.

Si quelqu'un pouvait m'expliquer où est mon erreur...

Merci d'avance

Sub toto()
With Sheets("Feuil1")
.Range("A4:J" & .Range("A" & .Rows.Count).End(xlUp).Row).RemoveDuplicates Columns:=Array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10), Header:=xlNo
End With
End Sub

Si tu as Office 2007 ou plus utilise removeduplicates.

Sinon tes dicos sont mal construits.

Merci EngueEngue, mais j'ai 2003, je ne peux pas utiliser RemoveDuplicates

Ce code est très bien avec les dicos:

Sub RemoveDuplicates() 

Dim i As Long 
Dim myColl As New Collection 
Dim LastRow As Long, FirstRow As Long 

With ActiveWorksheet 
FirstRow = .UsedRange.Row 
LastRow = .UsedRange.Row + .UsedRange.Rows.Count - 1 

On Error Resume Next 

Err = 0 

For i = LastRow To FirstRow Step -1 
myColl.Add .Range("A" & i).Value CStr(.Range("A" & i).Value) 

If Err <> 0 Then 
.Range("A" & i).EntireRow.Delete 
Err = 0 
End If 

Next i 

End With 

On Error GoTo 0 

End Sub 

Sinon tu as celui là, plus lent mais plus simple à utiliser, il va te remove les duplicates de ta selection:

Public Sub DeleteDuplicateRows() 
' 
' This macro deletes duplicate rows in the selection. Duplicates are 
' counted in the COLUMN of the active cell. 

Dim Col As Integer 
Dim r As Long 
Dim C As Range 
Dim N As Long 
Dim V As Variant 
Dim Rng As Range 

On Error GoTo EndMacro 
Application.ScreenUpdating = False 
Application.Calculation = xlCalculationManual 

Col = ActiveCell.Column 

If Selection.Rows.Count > 1 Then 
Set Rng = Selection 
Else 
Set Rng = ActiveSheet.UsedRange.Rows 
End If 

N = 0 
For r = Rng.Rows.Count To 1 Step -1 
V = Rng.Cells(r, 1).Value 
If Application.WorksheetFunction.CountIf(Rn... V) > 1 Then 
Rng.Rows(r).EntireRow.Delete 
N = N + 1 
End If 
Next r 

EndMacro: 

Application.ScreenUpdating = True 
Application.Calculation = xlCalculationAutomatic 

End Sub

La première pourrait être pas mal, je n'ai jamais utilisé les collections, mais il y a une erreur de syntaxe à cette ligne :

myColl.Add .Range("A" & i).Value CStr(.Range("A" & i).Value) 

Je ne comprends pas d'où peut elle venir

En fait j'ai compris pourquoi les macros ne fonctionnaient pas, je dois laisser une cellule vierge en colonne A avant l'entête sinon sa décale tout.

Rechercher des sujets similaires à "suppression doublon"