Supprimer les lignes où une colonne est égal à vide/0/1

shenmicke

XLDnaute Junior
Bonjour!
Je poste ici mon petit problème. En effet je suis novice sur excel et j'ai cru pouvoir faire une macro pour m'aider à supprimer des lignes.
Donc en cherchant un peu je trouve ceci :

Private Sub CommandButton1_Click()
Dim Cell As Range

For Each Cell In Range("B1:B100")
If Cell.Value = "" Then
Cell.EntireRow.Delete
End If
Next Cell

End Sub

Voulant d'abord tester cette macro, je vais dans outils macro visual basic editor.
Puis je colle ce code.
D'après ce que j'ai lu, j'ai juste à faire outils macro et sélectionner la macro pour pouvoir l'exécuter. Or, je ne la voie pas apparaitre et donc je clique sur macro avec le triangle pour la lecture. Ceci ne marche pas.
Auriez vous une idée de comment je pourrai la faire marcher svp?

Merci !
 

Pierrot93

XLDnaute Barbatruc
Re : Supprimer les lignes où une colonne est égal à vide/0/1

Bonjour,

enlève le mot "Private", c'est lui qui empêche à ce qu'elle soit visible... A noter qu'une telle procédure est faite pour être affectée à un bouton....
 
Dernière édition:

shenmicke

XLDnaute Junior
Re : Supprimer les lignes où une colonne est égal à vide/0/1

Merci pour ta réponse rapide.
J'ai enlevé le private, donc quand je vais sur outils/macro/macro je vois bien ma fonction. Je tente de l'executer et ça me marque incompatibilité de type. Pourrais tu me dire d'où viens le problème? peut être cela vient du fait que je dois faire un bouton? si oui comment en faire un stp.
Merci
 

Pierrot93

XLDnaute Barbatruc
Re : Supprimer les lignes où une colonne est égal à vide/0/1

Re,

a noter que pour ce type de procédure, il est préférable de commencer par la dernière cellule de la colonne et de remonter, car si 2 cellules consécutives sont vides, une seule ligne sera supprimée...
Code:
Dim i As Long
For i = Range("B65536").End(xlUp).Row To 1 Step -1
    If Cells(i, 2).Value = "" Then Rows(i).Delete
Next i
 

shenmicke

XLDnaute Junior
Re : Supprimer les lignes où une colonne est égal à vide/0/1

Re, oui j'ai vu tes posts j'ai lancé ça à l'air de marcher mais c'est super long non?
Ca fait quelques minutes déjà que la macro est lancé et j'ai toujours pas la main. Mais j'ai lancé sur une feuille où il y avait plus de 6000 lignes.
 

shenmicke

XLDnaute Junior
Re : Supprimer les lignes où une colonne est égal à vide/0/1

j'ai stoppé la macro est relancé avec un nombre pour le B moins important et ça à l'air de faire ce que je voulais !

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

Je vais faire ceci, penses tu que ça marchera ?
 

Discussions similaires

Statistiques des forums

Discussions
312 359
Messages
2 087 590
Membres
103 604
dernier inscrit
CAROETALEX59