supprimer des lignes sous condition

Le
gaston
bonjour !
J'ai une liste dans une feuille avec 4 colonnes A B C D. Je
voudrais qu'une macro puisse "scanner" cette liste en
vrifiant les valeurs des colonnes C et D de telle faon
ce que, si ces colonnes contiennent en mme temps sur la
mme ligne la valeur 0 , ladite ligne soit supprime
comment dois-je faire ?
merci d'avance de vos rponses
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
ChrisV
Le #1288920
Bonjour Gaston,

Sub supL()
Dim r As Long
Application.ScreenUpdating = False
On Error Resume Next
For r = Range("A:D").Find("*", [A1], , , xlByRows, xlPrevious).Row To 1
Step -1
If Cells(r, 3) = 0 And Cells(r, 4) = 0 Then _
Rows(r).Delete
Next r
End Sub


ChrisV


"gaston" news:14f3201c41985$c925d0e0$
bonjour !
J'ai une liste dans une feuille avec 4 colonnes A B C D. Je
voudrais qu'une macro puisse "scanner" cette liste en
vérifiant les valeurs des colonnes C et D de telle façon à
ce que, si ces colonnes contiennent en même temps sur la
même ligne la valeur 0 , ladite ligne soit supprimée
comment dois-je faire ?
merci d'avance de vos réponses
ChrisV
Le #1288917
Hum...
un peu "dangereux" si des données sont présentes dans les colonnes E:IV sur
les lignes à supprimer en A:D...
Il faudra préférer:

Sub supL()
Dim r As Long
Application.ScreenUpdating = False
On Error Resume Next
For r = Range("A:D").Find("*", [A1], , , xlByRows, xlPrevious).Row To 1
Step -1
If Cells(r, 3) = 0 And Cells(r, 4) = 0 Then _
Range("A" & r & ":D" & r).Delete shift:=xlUp
Next r
End Sub


ChrisV

"ChrisV" news:OD%23e%
Bonjour Gaston,

Sub supL()
Dim r As Long
Application.ScreenUpdating = False
On Error Resume Next
For r = Range("A:D").Find("*", [A1], , , xlByRows, xlPrevious).Row To
1

Step -1
If Cells(r, 3) = 0 And Cells(r, 4) = 0 Then _
Rows(r).Delete
Next r
End Sub


ChrisV


"gaston" news:14f3201c41985$c925d0e0$
bonjour !
J'ai une liste dans une feuille avec 4 colonnes A B C D. Je
voudrais qu'une macro puisse "scanner" cette liste en
vérifiant les valeurs des colonnes C et D de telle façon à
ce que, si ces colonnes contiennent en même temps sur la
même ligne la valeur 0 , ladite ligne soit supprimée
comment dois-je faire ?
merci d'avance de vos réponses




gaston
Le #1288915
Merci pour tes réponses rapides : j'apprécie beaucoup !

maintenant je vais quand même essayer de comprendre tout
ça, au lieu de recopier bêtement ;-)

-----Message d'origine-----
Bonjour Gaston,

Sub supL()
Dim r As Long
Application.ScreenUpdating = False
On Error Resume Next
For r = Range("A:D").Find("*", [A1], , , xlByRows,
xlPrevious).Row To 1

Step -1
If Cells(r, 3) = 0 And Cells(r, 4) = 0 Then _
Rows(r).Delete
Next r
End Sub


ChrisV


"gaston" dans le message de

news:14f3201c41985$c925d0e0$
bonjour !
J'ai une liste dans une feuille avec 4 colonnes A B C D.
Je

voudrais qu'une macro puisse "scanner" cette liste en
vérifiant les valeurs des colonnes C et D de telle façon à
ce que, si ces colonnes contiennent en même temps sur la
même ligne la valeur 0 , ladite ligne soit supprimée
comment dois-je faire ?
merci d'avance de vos réponses


.



gaston
Le #1288912
j'ai essayé la macro, mais il y a un petit souci:
elle bloque sur Step erreur de compilation Sub ou
Function non définie
et je ne trouve pas d'aide suffisamment explicative...


-----Message d'origine-----
Hum...
un peu "dangereux" si des données sont présentes dans les
colonnes E:IV sur

les lignes à supprimer en A:D...
Il faudra préférer:

Sub supL()
Dim r As Long
Application.ScreenUpdating = False
On Error Resume Next
For r = Range("A:D").Find("*", [A1], , , xlByRows,
xlPrevious).Row To 1

Step -1
If Cells(r, 3) = 0 And Cells(r, 4) = 0 Then _
Range("A" & r & ":D" & r).Delete shift:=xlUp
Next r
End Sub


ChrisV



ChrisV
Le #1288907
Re,

Et comme ça ?

Sub supL()
Dim r As Long
Application.ScreenUpdating = False
On Error Resume Next
For r = Range("A:D").Find("*", [A1], , , xlByRows, _
xlPrevious).Row To 1 Step -1
If Cells(r, 3) = 0 And Cells(r, 4) = 0 Then _
Range("A" & r & ":D" & r).Delete shift:=xlUp
Next r
End Sub


ChrisV


"gaston" news:1342b01c4198f$95ee59e0$
j'ai essayé la macro, mais il y a un petit souci:
elle bloque sur Step erreur de compilation Sub ou
Function non définie
et je ne trouve pas d'aide suffisamment explicative...


-----Message d'origine-----
Hum...
un peu "dangereux" si des données sont présentes dans les
colonnes E:IV sur

les lignes à supprimer en A:D...
Il faudra préférer:

Sub supL()
Dim r As Long
Application.ScreenUpdating = False
On Error Resume Next
For r = Range("A:D").Find("*", [A1], , , xlByRows,
xlPrevious).Row To 1

Step -1
If Cells(r, 3) = 0 And Cells(r, 4) = 0 Then _
Range("A" & r & ":D" & r).Delete shift:=xlUp
Next r
End Sub


ChrisV



Le #1288900
heu...? je viens d'essayer mais je vois pas bien ce que ça
fait...en tous cas, pas ce que je voudrais:
voici un extrait de ma liste
A B C D
1 06/03/04 BALLIHAUT -130,6
2 03/04/04 BALLIHAUT -130,6
3 16/01/04 DESPERBEN 0
4 12/02/04 DESPERBEN 0
5 27/03/04 LABARERE 200 0
6 31/03/04 LABARERE -200
etc
donc dans cet exemple il faudrait que les lignes 3 et 4
soient supprimees (carrément les lignes, pas seulement les
cellules)
gaston
Le #1225573
en fait je n'avais pas essayé la toute première solution
et c'est celle qui convient le mieux !
merci de ton aide précieuse et excuse moi de t'avoir fait
perdre du temps
ChrisV
Le #1225570
Non problemo Gaston... ;-)


ChrisV


"gaston" news:14fb101c4199c$54f65980$
en fait je n'avais pas essayé la toute première solution
et c'est celle qui convient le mieux !
merci de ton aide précieuse et excuse moi de t'avoir fait
perdre du temps
ChrisV
Le #1225569
Bonjour

Pas sûr d'avoir bien saisi, mais si la condition est: "supprimer les lignes
du tableau dont le contenu de la colonne C est égal à 0:

Sub supL0()
Dim r As Long
Application.ScreenUpdating = False
On Error Resume Next
For r = Range("A:D").Find("*", [A1], , , xlByRows, _
xlPrevious).Row To 1 Step -1
If Cells(r, 3) = 0 Then _
Rows(r).Delete
Next r
End Sub


ChrisV


news:17b7001c41999$601053f0$
heu...? je viens d'essayer mais je vois pas bien ce que ça
fait...en tous cas, pas ce que je voudrais:
voici un extrait de ma liste
A B C D
1 06/03/04 BALLIHAUT -130,6
2 03/04/04 BALLIHAUT -130,6
3 16/01/04 DESPERBEN 0
4 12/02/04 DESPERBEN 0
5 27/03/04 LABARERE 200 0
6 31/03/04 LABARERE -200
etc
donc dans cet exemple il faudrait que les lignes 3 et 4
soient supprimees (carrément les lignes, pas seulement les
cellules)
gee-dee-
Le #1225388
Bonsoir,
Sub Macro1()
Range("C2").Select
'Selection.AutoFilter
Selection.AutoFilter Field:=3, Criteria1:="0"
Selection.AutoFilter Field:=4, Criteria1:="0"
Set tbl = ActiveCell.CurrentRegion
tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, tbl.Columns.Count).Select
Selection.Rows.Delete
Selection.AutoFilter
End Sub

Non ???

j'ai aidé, G&D geedee....
;-)))

"gaston" news:14f3201c41985$c925d0e0$
bonjour !
J'ai une liste dans une feuille avec 4 colonnes A B C D. Je
voudrais qu'une macro puisse "scanner" cette liste en
vérifiant les valeurs des colonnes C et D de telle façon à
ce que, si ces colonnes contiennent en même temps sur la
même ligne la valeur 0 , ladite ligne soit supprimée
comment dois-je faire ?
merci d'avance de vos réponses
Publicité
Poster une réponse
Anonyme