OVH Cloud OVH Cloud

Re : doublons

2 réponses
Avatar
Seng HUA
Bonjour à tous,

En parcourant le forum, j'ai vu la macro de Daniel ci contre, que j'esssaye
d'adapter pour supprimer les doublons identiques ( même n° références, même
mtant en positives & négatives ), je m'explique, j'ai une feuille qui peut
contenir jusqu'à 10000 lignes de données, j'ai corrigé :

Derligne=Range("A65536") en range("F65536").End(xlUp) ' les références des
produits sont sur les colonnes F et les montants en colonnes H.

Ma question est, comment adapter le reste de la macro, si après le tri, j'ai
2 lignes identiques en mtant & référence, pour supprimer les 2 lignes.

Merci d'avance.

seng

Bonsoir.
> Essaie :
>
> Sub test()
> Dim Zon As String, Derligne As Long, c As Range
> Dim ResAdr As String, Plage As Range
> Range("A1").Select
> Derligne = Range("A65536").End(xlUp).Row
> Do While ActiveCell.Row <> Derligne
> For i = 1 To Len(ActiveCell.Value) - 2
> Zon = Mid(ActiveCell.Value, i, 3)
> Set c = Range("A:A").Find(Zon)
> If Not c Is Nothing Then
> ResAdr = c.Address
> Do
> Set c = Range("A:A").FindNext(c)
> Var = c.Address
> If c.Address <> ActiveCell.Address Then c.Value =
> "!!!§§§!!!"
> Loop While Not c Is Nothing And c.Address <> ResAdr
> End If
> Next i
> ActiveCell.Offset(1, 0).Select
> Loop
> Set Plage = Range("A1", Range("A65536").End(xlUp))
> For Each c In Plage
> If c.Value = "!!!§§§!!!" Then c.Delete
> Next c
> End Sub

2 réponses

Avatar
Youky
salut,
cela doit suffir

Sub DoublonFouH()
col = 6 'col indique le N° de colonne ,ici F
lig = 1
While Cells(lig, col) <> ""
lig = lig + 1
For k = lig + 1 To 20000
If Cells(k, col) = "" Then Exit For
If Cells(k, col) = Cells(lig, col) Then Rows(k).Delete: GoTo saute
If Cells(k, col + 2) = Cells(lig, col + 2) Then Rows(k).Delete
saute:
Next
Wend
End Sub
Youky
"Seng HUA" a écrit dans le message de news:
440aa086$0$1148$
Bonjour à tous,

En parcourant le forum, j'ai vu la macro de Daniel ci contre, que
j'esssaye
d'adapter pour supprimer les doublons identiques ( même n° références,
même
mtant en positives & négatives ), je m'explique, j'ai une feuille qui peut
contenir jusqu'à 10000 lignes de données, j'ai corrigé :

Derligne=Range("A65536") en range("F65536").End(xlUp) ' les références des
produits sont sur les colonnes F et les montants en colonnes H.

Ma question est, comment adapter le reste de la macro, si après le tri,
j'ai
2 lignes identiques en mtant & référence, pour supprimer les 2 lignes.

Merci d'avance.

seng

Bonsoir.
Essaie :

Sub test()
Dim Zon As String, Derligne As Long, c As Range
Dim ResAdr As String, Plage As Range
Range("A1").Select
Derligne = Range("A65536").End(xlUp).Row
Do While ActiveCell.Row <> Derligne
For i = 1 To Len(ActiveCell.Value) - 2
Zon = Mid(ActiveCell.Value, i, 3)
Set c = Range("A:A").Find(Zon)
If Not c Is Nothing Then
ResAdr = c.Address
Do
Set c = Range("A:A").FindNext(c)
Var = c.Address
If c.Address <> ActiveCell.Address Then c.Value >> "!!!§§§!!!"
Loop While Not c Is Nothing And c.Address <> ResAdr
End If
Next i
ActiveCell.Offset(1, 0).Select
Loop
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
If c.Value = "!!!§§§!!!" Then c.Delete
Next c
End Sub






Avatar
Seng HUA
Bonjour Youky,

Merci de ta réponse, je vais mettre en application demain.

Seng

"Youky" a écrit dans le message de news:

salut,
cela doit suffir

Sub DoublonFouH()
col = 6 'col indique le N° de colonne ,ici F
lig = 1
While Cells(lig, col) <> ""
lig = lig + 1
For k = lig + 1 To 20000
If Cells(k, col) = "" Then Exit For
If Cells(k, col) = Cells(lig, col) Then Rows(k).Delete: GoTo saute
If Cells(k, col + 2) = Cells(lig, col + 2) Then Rows(k).Delete
saute:
Next
Wend
End Sub
Youky
"Seng HUA" a écrit dans le message de news:
440aa086$0$1148$
Bonjour à tous,

En parcourant le forum, j'ai vu la macro de Daniel ci contre, que
j'esssaye
d'adapter pour supprimer les doublons identiques ( même n° références,
même
mtant en positives & négatives ), je m'explique, j'ai une feuille qui
peut
contenir jusqu'à 10000 lignes de données, j'ai corrigé :

Derligne=Range("A65536") en range("F65536").End(xlUp) ' les références
des
produits sont sur les colonnes F et les montants en colonnes H.

Ma question est, comment adapter le reste de la macro, si après le tri,
j'ai
2 lignes identiques en mtant & référence, pour supprimer les 2 lignes.

Merci d'avance.

seng

Bonsoir.
Essaie :

Sub test()
Dim Zon As String, Derligne As Long, c As Range
Dim ResAdr As String, Plage As Range
Range("A1").Select
Derligne = Range("A65536").End(xlUp).Row
Do While ActiveCell.Row <> Derligne
For i = 1 To Len(ActiveCell.Value) - 2
Zon = Mid(ActiveCell.Value, i, 3)
Set c = Range("A:A").Find(Zon)
If Not c Is Nothing Then
ResAdr = c.Address
Do
Set c = Range("A:A").FindNext(c)
Var = c.Address
If c.Address <> ActiveCell.Address Then c.Value >>> "!!!§§§!!!"
Loop While Not c Is Nothing And c.Address <> ResAdr
End If
Next i
ActiveCell.Offset(1, 0).Select
Loop
Set Plage = Range("A1", Range("A65536").End(xlUp))
For Each c In Plage
If c.Value = "!!!§§§!!!" Then c.Delete
Next c
End Sub