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
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
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
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" <senghua@club-internet.fr> a écrit dans le message de news:
440aa086$0$1148$7a628cd7@news.club-internet.fr...
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
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
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
Bonjour Youky,
Merci de ta réponse, je vais mettre en application demain.
Seng
"Youky" <bruno.jeune@wanadoo.fr> a écrit dans le message de news:
e9vawoDQGHA.4108@TK2MSFTNGP10.phx.gbl...
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" <senghua@club-internet.fr> a écrit dans le message de news:
440aa086$0$1148$7a628cd7@news.club-internet.fr...
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
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