problème effacer des lignes!

S

sarah

Guest
Bonjour à tous

Voici ma question: j'ai la formule suivante qui m'efface des lignes si une cellule est vide ou a un zero.

For x=range("b30").end(xlup).row to 1 step -1
if range("B"&x)="0" or range("B"&x)="" then rows(x).entirerow.delete
next

Seulement cette macro n'efface pas les lignes!

Quel peut être le problème?

Merci de votre réponse!

Sarah
 
R

raoult pascal

Guest
bonjour sarah,

j'avais utilisé une macro pour faire la meme chose.

essaye la et dit moi si cela fonctionne.

Sub macro1()

For i = 1 To 30
Range("b" & i).Select
If Range("b" & i).Value = 0 Or Range("b" & i).Value = " " Then
ActiveCell.EntireRow.Delete Shift:=xlUp
End If
Next

End Sub


à plus tard

Pascal
 
S

sarah

Guest
Bonjour Pascal

Merci pour ta réponse et ton code.

Ce code ne fonctionne pas dans mon programme au même titre que le mien qui fonctionne dans la normale et si j'ouvre un autre classeur.

Je reçois un message d'erreur: type mismatch, error 13!

A +

Sarah
 
A

Abel

Guest
Bonjour sarah, pascal, tout le monde,

Si je ne me trompe pas (je n'ai pas testé), ce code présente un inconvénient.
Si tu as deux lignes de suite avec en "Bi" la valeur "0" ou rien, la deuxième ligne ne va pas être effacée.

Essaie :

For i = 1 To 30
Range("b" & i).Select
If Range("b" & i).Value = 0 Or Range("b" & i).Value = " " Then
ActiveCell.EntireRow.Delete Shift:=xlUp
i=i-1
End If
Next

Sinon, dirige toi sur une solution où on sélectionne d'abord toutes les lignes correspondant aux critères avant de supprimer.

Je fouille, j'avais fait un truc dans ce gout là il y a quelque temps. C'est avec la méthode "Union".

A+

Abel.
 

Discussions similaires

Statistiques des forums

Discussions
312 389
Messages
2 087 934
Membres
103 678
dernier inscrit
bibitm