S
Stephane
Guest
Bonsoir le forum,
j' utilise cette macro pour supprimer les doublons, mais elle me supprime les valeurs les plus récentes et me garde la valeur la plus ancienne. Or, je voudrais garder la valeur la plus récente.
Sub Doublons()
Dim Plage As Range, Cel As Range
Dim Col As New Collection, ASupprimer As Range
Application.ScreenUpdating = False
Workbooks.Open Filename:='C:\\BASE.xls'
Sheets('Feuil1').Select
Cells.Select
With ActiveSheet
Set Plage = .Range('V2', .Range('V2').End(xlDown))
End With
For Each Cel In Plage
On Error Resume Next
Col.Add Cel, '_' & Cel
If Err.Number <> 0 Then
If ASupprimer Is Nothing Then Set ASupprimer = Cel Else _
Set ASupprimer = Union(ASupprimer, Cel)
End If
Next Cel
If Not ASupprimer Is Nothing Then ASupprimer.EntireRow.Delete
Range('A1').Select
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub
Merci de votre aide.
j' utilise cette macro pour supprimer les doublons, mais elle me supprime les valeurs les plus récentes et me garde la valeur la plus ancienne. Or, je voudrais garder la valeur la plus récente.
Sub Doublons()
Dim Plage As Range, Cel As Range
Dim Col As New Collection, ASupprimer As Range
Application.ScreenUpdating = False
Workbooks.Open Filename:='C:\\BASE.xls'
Sheets('Feuil1').Select
Cells.Select
With ActiveSheet
Set Plage = .Range('V2', .Range('V2').End(xlDown))
End With
For Each Cel In Plage
On Error Resume Next
Col.Add Cel, '_' & Cel
If Err.Number <> 0 Then
If ASupprimer Is Nothing Then Set ASupprimer = Cel Else _
Set ASupprimer = Union(ASupprimer, Cel)
End If
Next Cel
If Not ASupprimer Is Nothing Then ASupprimer.EntireRow.Delete
Range('A1').Select
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub
Merci de votre aide.