Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Supprimer certaines lignes sauf la première ?

4 réponses
Avatar
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

4 réponses

Avatar
anonymousA
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



Avatar
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

--
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



Avatar
charabeuh
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



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


"Philippe.R" <AS_rauphil_chez_wanadoo.fr> a écrit dans le message de news:
%
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