Supprimer certaines lignes sauf la première ?

Le
Gilbert
Bonjour,

J'aimerais que la macro suivante ne me supprime pas ma première ligne (B1
est nommée "Nom" si çà peut aider). Est-ce possible ?


Sub dab_sup_lign()
'si cel in col B vide => sup ligne
'çà part du bas de la feuille

For lin = ActiveSheet.UsedRange.Rows.Count + ActiveSheet.UsedRange.Row To 1
Step -1
If Cells(lin, 2) = "" Then Rows(lin).Delete Shift:=xlUp
Next lin

End Sub


Merci d'avance,
Gilbert
Questions / Réponses high-tech
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
anonymousA
Le #5011271
Bonjour

si tu es absolument certain de ne pas vouloir supprimer la ligne de B1,
je te propose la méthode suivante , plus rapide que l'exploration de
toutes les lignes de la colonne B appartenant à Usedrange

Range("B2:B65536").SpecialCells(xlCellTypeBlanks).EntireRow.Delete

A+

Bonjour,

J'aimerais que la macro suivante ne me supprime pas ma première ligne
(B1 est nommée "Nom" si çà peut aider). Est-ce possible ?


Sub dab_sup_lign()
'si cel in col B vide => sup ligne
'çà part du bas de la feuille

For lin = ActiveSheet.UsedRange.Rows.Count + ActiveSheet.UsedRange.Row
To 1 Step -1
If Cells(lin, 2) = "" Then Rows(lin).Delete Shift:=xlUp
Next lin

End Sub


Merci d'avance,
Gilbert



Philippe.R
Le #5011261
Bonjour Gilbert,
Il suffit de limiter les valeurs possibles de lin à 2 au lieu de 1, comme ci
dessous

Sub dab_sup_lign()
'si cel in col B vide => sup ligne
'çà part du bas de la feuille
For lin = ActiveSheet.UsedRange.Rows.Count + _
ActiveSheet.UsedRange.Row To 2 Step -1
If Cells(lin, 2) = "" Then Rows(lin).Delete Shift:=xlUp
Next lin
End Sub

--
http://www.excelabo.net/mpfe/connexion.php
http://dj.joss.free.fr/trombine.htm
Avec plaisir
Philippe.R
"Gilbert" <gg@> a écrit dans le message de
news:4729bd4f$0$28494$
Bonjour,

J'aimerais que la macro suivante ne me supprime pas ma première ligne (B1
est nommée "Nom" si çà peut aider). Est-ce possible ?


Sub dab_sup_lign()
'si cel in col B vide => sup ligne
'çà part du bas de la feuille

For lin = ActiveSheet.UsedRange.Rows.Count + ActiveSheet.UsedRange.Row To
1 Step -1
If Cells(lin, 2) = "" Then Rows(lin).Delete Shift:=xlUp
Next lin

End Sub


Merci d'avance,
Gilbert



charabeuh
Le #5011241
Slt,

Et si on remplace "to 1" par "to 2" ?



"Gilbert" <gg@> a écrit dans le message de
news:4729bd4f$0$28494$
Bonjour,

J'aimerais que la macro suivante ne me supprime pas ma première ligne (B1
est nommée "Nom" si çà peut aider). Est-ce possible ?


Sub dab_sup_lign()
'si cel in col B vide => sup ligne
'çà part du bas de la feuille

For lin = ActiveSheet.UsedRange.Rows.Count + ActiveSheet.UsedRange.Row To
1 Step -1
If Cells(lin, 2) = "" Then Rows(lin).Delete Shift:=xlUp
Next lin

End Sub


Merci d'avance,
Gilbert



Gilbert
Le #5011231
Génial! Merci beaucoup Philippe...et AnonymousA! ;)
Bonne après midi ;)
Gilbert


"Philippe.R" %
Bonjour Gilbert,
Il suffit de limiter les valeurs possibles de lin à 2 au lieu de 1, comme
ci dessous

Sub dab_sup_lign()
'si cel in col B vide => sup ligne
'çà part du bas de la feuille
For lin = ActiveSheet.UsedRange.Rows.Count + _
ActiveSheet.UsedRange.Row To 2 Step -1
If Cells(lin, 2) = "" Then Rows(lin).Delete Shift:=xlUp
Next lin
End Sub


Publicité
Poster une réponse
Anonyme