lignes a supprimer

J

JJ

Guest
Bonsoir à tous,

J'ai besoin d'un peu d'aide pour ma macro,
j'ai 7 colonnes et je voudrais supprimer les lignes du tableau si:
La col 1 est > à 0
les col 2 à 7 sont = à 0
(etant entendu que si la col 1 est = à 0 alors il y a forcement une valeur dans les autres et donc il ne faut pas supp la ligne)
J'ai commencé.......

Sub supprime()
For Each Cel In Selection
If Cel (col 1 comment l'ecrire ?).Value >0 And Cel.Offset(0,2:7).Value = 0 Then
Cel EntireRow.Delete
End If
Next
End Sub
Qui peut m'aider à finir?
Merci
Bonne soirée JJ
 
J

JC de Lorient

Guest
Bonsoir JJ, le forum

tu peux essayer ce code :
Sub supprime()
Dim cel As Range
Dim x, mavaleur As Byte
For Each cel In Range('A1:A14')' A ADAPTER
mavaleur = 0
For x = 2 To 7
If cel.Offset(0, 2).Value = 0 Then
mavaleur = mavaleur + 1
End If
Next x
If cel.Value > 0 And mavaleur > 0 Then
cel.EntireRow.Delete
End If
Next
End Sub

y'a surement plus simple mé au moins ça marche

JC
 

jacktati

XLDnaute Occasionnel
salut Jc,et JJ

Sub suppr_ligne_de_zero()
For lin = ActiveSheet.UsedRange.Rows.Count + ActiveSheet.UsedRange.Row To 1
Step -1
If Cells(lin, 1) = '0' Then Rows(lin).Delete Shift:=xlUp
Next lin
End Sub

je m'explique
ActiveSheet.UsedRange.Rows.Count + ActiveSheet.UsedRange.Row c'est le n° de
la dernière ligne utilisée dans la feuille
je balaie les lignes en partant de la dernière et en remontant (step -1)
pourquoi ? parce que si je descends, quand j'ôte une ligne, je me retrouve
décalé d'un cran et ça me fatique de remonter pour ne pas rater un 0.
cells(lin,1) est la première cellule de la ligne n° lin


A voir

@+
 

Discussions similaires

Réponses
2
Affichages
172
Réponses
6
Affichages
165
Réponses
13
Affichages
268

Statistiques des forums

Discussions
312 439
Messages
2 088 440
Membres
103 850
dernier inscrit
Eltactico