Pb de macro ...

argon1515

XLDnaute Junior
Bonjour,
En voulant resoudre un post j'ai rencontré un probléme curieux.
Voir la piece jointe.
Le code macrook fonctionne --> colore en bleu les cellules contenant 0
Le code macronok ne fonctionne pas --> supprime les lignes ou il y des cellules contenant 0
Le but est de supprimer les lignes ou l'on trouve un 0
Il y a d'autre solution pour y parvenir mais ce probléme de macronok m'intrigue.:confused:
Merci de votre aide
 

Pièces jointes

  • exemple_code.xls
    46.5 KB · Affichages: 42

Pierrot93

XLDnaute Barbatruc
Re : Pb de macro ...

Bonjour Argon, Mazette

effectivement en procédant par une boucle "for each" si 2 cellules consécutives répondent aux critères, tu ne supprimes que la première, essaye comme ceci, une boucle en commencant par la dernière ligne :

Code:
Sub Macronok()
Dim i As Long
For i = Range("B65536").End(xlUp).Row To 2 Step -1
    If Cells(i, 2).Value = 0 Then Rows(i).Delete
Next i
End Sub

bon après midi
@+
 

argon1515

XLDnaute Junior
Re : Pb de macro ...

Merci Pierrot93 de te pencher sur ce probléme, mais comment expliques tu que la macrook colore bien tous les 0 méme 2 qui ce suivent ?
De plus je voulais un code qui fonctionne quelque soit le le nombre de colonne
qui contient un 0.
Sauf erreur de ma part tu testes uniquement la colonne B (Range("B65536").End(xlUp).Row To 2 Step -1).
A+
 

Pierrot93

XLDnaute Barbatruc
Re : Pb de macro ...

Re

la macroOK ne supprime pas de lignes, l'autre si, par exemple si la cellule 3 répond au critère, elle est supprimée, la 4 devient la 3, et le code annalyse la 4 qui était la 5 avant suppression... donc la 4 d'origine pas traitée...

essaye comme ci dessous pour plusieurs colonnes, en supposant que toutes les colonnes aient le même nombre de lignes :

Code:
Sub Macronok()
Dim i As Long, c As Byte
For c = 1 To Range("IV1").End(xlToLeft).Column
For i = Range("A65536").End(xlUp).Row To 2 Step -1
    If Cells(i, c).Value = 0 Then Rows(i).Delete
Next i
Next c
End Sub

@+
 

Discussions similaires

Réponses
18
Affichages
759

Statistiques des forums

Discussions
312 497
Messages
2 088 988
Membres
104 000
dernier inscrit
dinelcia