Intégrer une condition dans un string pour effacer des lignes
ConseilRestauration
Messages postés2Date d'inscriptionjeudi 18 octobre 2007StatutMembreDernière intervention18 octobre 2007
-
18 oct. 2007 à 11:57
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 2018
-
19 oct. 2007 à 11:49
Bonjour à tous,
j'ai fais plusieures recherches sur différents forums mais je n'ai pas trouvé mon bonheur, et mon niveau en prog ne me permet pas de me dépatouiller.
J'ai un listing materiel (1000 lignes). Je voudrai supprimer la ligne entiere si dans ma colonne quantité j'ai zero. Jusqu'ici tout va bien.
Mon probleme c'est que j'ai des lignes vides qui séparent mes différentes familles de materiel (souci de présentation) et si je lance un string sans condition ça m'ecrase ma mise en page (ce qui reviens à perdre plus de temps à rétablir qu'a supprimer manuellement le materiel dont la quantité est zero). Du coup il faudrait integer une autre condition, mais là je bloque....
ConseilRestauration
Messages postés2Date d'inscriptionjeudi 18 octobre 2007StatutMembreDernière intervention18 octobre 2007 18 oct. 2007 à 13:50
Bonjour, merci pour ton indication mais je pense que le plus simple est de programmer :
Regarde chaque ligne,
Si la cellule dans la colonne "libellé matériel" est non nul alors verifié si la quantité est nulle dans la colonne "quantité" est nul alors supprime la ligne
sinon ne fait rien.
comme ça il ne touche pas aux lignes vides qui me servent de mise en page.
le probleme c'est que je ne sait pas traduire ça en code vbA !!!
quelqu'un a t il une idée???
cs_MPi
Messages postés3877Date d'inscriptionmardi 19 mars 2002StatutMembreDernière intervention17 août 201823 19 oct. 2007 à 11:49
Oui, quelqu'un a une idée...
Mais il faudrait que tu précises un peu où sont les libellés et les quantités.
Pour effacer des lignes, tu devrais commencer par la fin.
DerniereLigne = Cells(Rows.Count, "A").End(xlUp).Row
For i = DerniereLigne To 2 Step - 1
If Range("Libellé" & i) <> "" and Range("Quantité" & i) = 0 Then
Rows(i).Delete
End If
Next
Change les mots en bleu pour les lettres nécessaires