OVH Cloud OVH Cloud

Suppression lignes si plusieurs conditions

3 réponses
Avatar
vvio
Bonjour à tous!

Je cherche une formule me permettant de supprimer des lignes comme dans le cas suivant :

Colonne A / Colonne B
1750231 / C-H-9-7
1750231 / C-H-9-7
1750231 / C-H-3-1
1750231 / C-H-3-1
1750231 / C-H-3-1

1759658 / C-S-1-1
1759658 / C-S-1-1

Mêmes numéros en A, codes différents en B (même si plusieurs similaires) => OK
Mêmes numéros en A, mêmes codes en B => à supprimer
=> Dans cet exemple, les 5 premières lignes sont toutes à garder, les 2 dernières sont à supprimer.

Quelqu'un aurait-il la solution, svp? Je n'y arrive pas ! :(
Merci!!!

3 réponses

Avatar
Daniel.C
Bonjour.
Essaie :

Sub test()
Dim i As Long
Columns(3).Insert
For i = [A65536].End(xlUp).Row To 1 Step -1
If Evaluate("COUNTIF(A:A,A" & i & ")") = _
Evaluate("SUMPRODUCT((A1:A8=A" & i & ")*(B1:B8=B" & i & "))")
Then
Cells(i, 3) = "****!!!!"
End If
Next i
For i = [A65536].End(xlUp).Row To 1 Step -1
If Cells(i, 3) = "****!!!!" Then
Rows(i).Delete
End If
Next i
Columns(3).Delete
End Sub

Cordialement.
Daniel

Bonjour à tous!

Je cherche une formule me permettant de supprimer des lignes comme dans le
cas suivant :

Colonne A / Colonne B
1750231 / C-H-9-7
1750231 / C-H-9-7
1750231 / C-H-3-1
1750231 / C-H-3-1
1750231 / C-H-3-1

1759658 / C-S-1-1
1759658 / C-S-1-1

Mêmes numéros en A, codes différents en B (même si plusieurs similaires) =>
OK Mêmes numéros en A, mêmes codes en B => à supprimer
=> Dans cet exemple, les 5 premières lignes sont toutes à garder, les 2
dernières sont à supprimer.

Quelqu'un aurait-il la solution, svp? Je n'y arrive pas ! :(
Merci!!!


Avatar
vvio
Daniel.C a écrit le 25/11/2008 à 14h33 :
Bonjour.
Essaie :

Sub test()
Dim i As Long
Columns(3).Insert
For i = [A65536].End(xlUp).Row To 1 Step -1
If Evaluate("COUNTIF(A:A,A" & i & ")") = _
Evaluate("SUMPRODUCT((A1:A8=A" & i & ")*(B1:B8=B"
& i & "))")
Then
Cells(i, 3) = "****!!!!"
End If
Next i
For i = [A65536].End(xlUp).Row To 1 Step -1
If Cells(i, 3) = "****!!!!" Then
Rows(i).Delete
End If
Next i
Columns(3).Delete
End Sub

Cordialement.
Daniel

Bonjour à tous!

Je cherche une formule me permettant de supprimer des lignes comme dans le
cas suivant :

Colonne A / Colonne B
1750231 / C-H-9-7
1750231 / C-H-9-7
1750231 / C-H-3-1
1750231 / C-H-3-1
1750231 / C-H-3-1

1759658 / C-S-1-1
1759658 / C-S-1-1

Mêmes numéros en A, codes différents en B (même si
plusieurs similaires) =>
OK Mêmes numéros en A, mêmes codes en B => à
supprimer
=> Dans cet exemple, les 5 premières lignes sont toutes à
garder, les 2
dernières sont à supprimer.

Quelqu'un aurait-il la solution, svp? Je n'y arrive pas ! :(
Merci!!!





Merci Daniel pour ta réponse!

Par contre, je ne connais absolument pas le VBA...
Ayant trouvé des fiches explicatives sur internet, j'ai collé les codes dans la fenêtre Code mais cette partie :
If Evaluate("COUNTIF(A:A,A" & i & ")") = _
Evaluate("SUMPRODUCT((A1:A8=A" & i & ")*(B1:B8=B" & i & "))")
Then
apparait en rouge... J'imagine devoir l'adapter à mon tableur mais j'ignore totalement ce que je dois faire...
Saurais-tu comment je dois m'y prendre exactement? ou où je peux trouver des fiches vraiment explicatives pour les nuls...?
Avatar
Daniel.C
Regarde le classeur à l'adresse :
http://www.cijoint.fr/cjlink.php?file=cj200811/cij2RArUUk.xls
Daniel

Daniel.C a écrit le 25/11/2008 à 14h33 :
Bonjour.
Essaie :

Sub test()
Dim i As Long
Columns(3).Insert
For i = [A65536].End(xlUp).Row To 1 Step -1
If Evaluate("COUNTIF(A:A,A" & i & ")") = _
Evaluate("SUMPRODUCT((A1:A8=A" & i & ")*(B1:B8=B"
& i & "))")
Then
Cells(i, 3) = "****!!!!"
End If
Next i
For i = [A65536].End(xlUp).Row To 1 Step -1
If Cells(i, 3) = "****!!!!" Then
Rows(i).Delete
End If
Next i
Columns(3).Delete
End Sub

Cordialement.
Daniel

Bonjour à tous!

Je cherche une formule me permettant de supprimer des lignes comme dans le
cas suivant :

Colonne A / Colonne B
1750231 / C-H-9-7
1750231 / C-H-9-7
1750231 / C-H-3-1
1750231 / C-H-3-1
1750231 / C-H-3-1

1759658 / C-S-1-1
1759658 / C-S-1-1

Mêmes numéros en A, codes différents en B (même si
plusieurs similaires) =>
OK Mêmes numéros en A, mêmes codes en B => à
supprimer
=> Dans cet exemple, les 5 premières lignes sont toutes à
garder, les 2
dernières sont à supprimer.

Quelqu'un aurait-il la solution, svp? Je n'y arrive pas ! :(
Merci!!!





Merci Daniel pour ta réponse!

Par contre, je ne connais absolument pas le VBA...
Ayant trouvé des fiches explicatives sur internet, j'ai collé les codes dans
la fenêtre Code mais cette partie :
If Evaluate("COUNTIF(A:A,A" & i & ")") = _
Evaluate("SUMPRODUCT((A1:A8=A" & i & ")*(B1:B8=B" & i & "))")
Then
apparait en rouge... J'imagine devoir l'adapter à mon tableur mais j'ignore
totalement ce que je dois faire...
Saurais-tu comment je dois m'y prendre exactement? ou où je peux trouver des
fiches vraiment explicatives pour les nuls...?