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

Corriger un code VBA/suppression de ligne qui ne marche pas

5 réponses
Avatar
Soya
Re-Bonjour,

J'ai un tableau de 7307 lignes. En colonne L, j'ai mon critère de
suppression. C'est-à-dire, si le contenu de la cellule en L > 0, alors on
supprime la ligne.

Avant de vous embêter, j'ai fait des recherches sur le site et j'ai trouvé
un code que j'ai voulu adapter à mon cas, mais ça ne fonctionne pas.

Pouvez-vous me dire où il manque un peu d'huile ? Merci !

Sub suplignesB()
'Supprime toutes les lignes de la feuille active si le contenu de la colonne
' L en regard est numérique et >0
'Suppose que la colonne A soit la plus longue
Dim zLiG As Long
zLiG = Range("A7308").End(xlUp).Row
For i = zLiG To 1 Step -1
If Cells(i, 12).Value > 0 Then
Cells(i, 12).EntireRow.Delete
End If
Next i

5 réponses

Avatar
Philippe.R
Bonsoir,
Il faut t'assurer que la colonne A soit la plus longue

Sub suplignesL()
'Supprime toutes les lignes de la feuille active
' si le contenu de la colonne L en regard est
' numérique et >0
'Suppose que la colonne A soit la plus longue
Dim zLiG As Long
zLiG = Range("A7308").End(xlUp).Row
For i = zLiG To 1 Step -1
If IsNumeric(Cells(i, "L").Value) And _
Cells(i, "L").Value > 0 Then
Cells(i, "L").EntireRow.Delete
End If
Next i
End Sub

--
http://www.excelabo.net/mpfe/connexion.php
http://dj.joss.free.fr/trombine.htm
Avec plaisir
Philippe.R
"Soya" a écrit dans le message de
news:
Re-Bonjour,

J'ai un tableau de 7307 lignes. En colonne L, j'ai mon critère de
suppression. C'est-à-dire, si le contenu de la cellule en L > 0, alors on
supprime la ligne.

Avant de vous embêter, j'ai fait des recherches sur le site et j'ai trouvé
un code que j'ai voulu adapter à mon cas, mais ça ne fonctionne pas.

Pouvez-vous me dire où il manque un peu d'huile ? Merci !

Sub suplignesB()
'Supprime toutes les lignes de la feuille active si le contenu de la
colonne
' L en regard est numérique et >0
'Suppose que la colonne A soit la plus longue
Dim zLiG As Long
zLiG = Range("A7308").End(xlUp).Row
For i = zLiG To 1 Step -1
If Cells(i, 12).Value > 0 Then
Cells(i, 12).EntireRow.Delete
End If
Next i


Avatar
Soya
Bonsoir Philippe,

Merci pour votre aide !

J'ai une petite question : ça ne marchera pas si les autres colonnes sont de
la même grandeur que la colonne A (ce qui est mon cas) ?


Bonsoir,
Il faut t'assurer que la colonne A soit la plus longue

Sub suplignesL()
'Supprime toutes les lignes de la feuille active
' si le contenu de la colonne L en regard est
' numérique et >0
'Suppose que la colonne A soit la plus longue
Dim zLiG As Long
zLiG = Range("A7308").End(xlUp).Row
For i = zLiG To 1 Step -1
If IsNumeric(Cells(i, "L").Value) And _
Cells(i, "L").Value > 0 Then
Cells(i, "L").EntireRow.Delete
End If
Next i
End Sub

--
http://www.excelabo.net/mpfe/connexion.php
http://dj.joss.free.fr/trombine.htm
Avec plaisir
Philippe.R
"Soya" a écrit dans le message de
news:
Re-Bonjour,

J'ai un tableau de 7307 lignes. En colonne L, j'ai mon critère de
suppression. C'est-à-dire, si le contenu de la cellule en L > 0, alors on
supprime la ligne.

Avant de vous embêter, j'ai fait des recherches sur le site et j'ai trouvé
un code que j'ai voulu adapter à mon cas, mais ça ne fonctionne pas.

Pouvez-vous me dire où il manque un peu d'huile ? Merci !

Sub suplignesB()
'Supprime toutes les lignes de la feuille active si le contenu de la
colonne
' L en regard est numérique et >0
'Suppose que la colonne A soit la plus longue
Dim zLiG As Long
zLiG = Range("A7308").End(xlUp).Row
For i = zLiG To 1 Step -1
If Cells(i, 12).Value > 0 Then
Cells(i, 12).EntireRow.Delete
End If
Next i






Avatar
Philippe.R
Re,
Si, cela fonctionnera, ce qu'il ne faut pas, c'est que la colonne A soit
plus courte, ou bien changer dans la ligne :
zLiG = Range("A7308").End(xlUp).Row
A par la lettre de la colonne dont on sait qu'elle ne sera jamais plus
courte que les autres
--
http://www.excelabo.net/mpfe/connexion.php
http://dj.joss.free.fr/trombine.htm
Avec plaisir
Philippe.R
"Soya" a écrit dans le message de
news:
Bonsoir Philippe,

Merci pour votre aide !

J'ai une petite question : ça ne marchera pas si les autres colonnes sont
de
la même grandeur que la colonne A (ce qui est mon cas) ?


Bonsoir,
Il faut t'assurer que la colonne A soit la plus longue

Sub suplignesL()
'Supprime toutes les lignes de la feuille active
' si le contenu de la colonne L en regard est
' numérique et >0
'Suppose que la colonne A soit la plus longue
Dim zLiG As Long
zLiG = Range("A7308").End(xlUp).Row
For i = zLiG To 1 Step -1
If IsNumeric(Cells(i, "L").Value) And _
Cells(i, "L").Value > 0 Then
Cells(i, "L").EntireRow.Delete
End If
Next i
End Sub

--
http://www.excelabo.net/mpfe/connexion.php
http://dj.joss.free.fr/trombine.htm
Avec plaisir
Philippe.R
"Soya" a écrit dans le message de
news:
Re-Bonjour,

J'ai un tableau de 7307 lignes. En colonne L, j'ai mon critère de
suppression. C'est-à-dire, si le contenu de la cellule en L > 0, alors
on
supprime la ligne.

Avant de vous embêter, j'ai fait des recherches sur le site et j'ai
trouvé
un code que j'ai voulu adapter à mon cas, mais ça ne fonctionne pas.

Pouvez-vous me dire où il manque un peu d'huile ? Merci !

Sub suplignesB()
'Supprime toutes les lignes de la feuille active si le contenu de la
colonne
' L en regard est numérique et >0
'Suppose que la colonne A soit la plus longue
Dim zLiG As Long
zLiG = Range("A7308").End(xlUp).Row
For i = zLiG To 1 Step -1
If Cells(i, 12).Value > 0 Then
Cells(i, 12).EntireRow.Delete
End If
Next i








Avatar
Soya
Bonjour Philippe !

Ça ne marche toujours pas. Aucune ligne n'est supprimée.
Voici davantage de détails :
La première partie de mon tableau va de A8 à L5742
La ligne 5743 est vide, surlignée en jaune, comme ligne de démarcation.
La deuxième partie va de A5744 à L7378

Je veux supprimer les lignes contenant une valeur en L dans la première
partie. Dans le code VBA, j'entre donc "A5742". Les colonnes ont toutes une
longueur égale.

Je ne comprends vraiment pas... Pouvez vous m'éclairer ?

Merci à l'avance.


Re,
Si, cela fonctionnera, ce qu'il ne faut pas, c'est que la colonne A soit
plus courte, ou bien changer dans la ligne :
zLiG = Range("A7308").End(xlUp).Row
A par la lettre de la colonne dont on sait qu'elle ne sera jamais plus
courte que les autres
--
http://www.excelabo.net/mpfe/connexion.php
http://dj.joss.free.fr/trombine.htm
Avec plaisir
Philippe.R
"Soya" a écrit dans le message de
news:
Bonsoir Philippe,

Merci pour votre aide !

J'ai une petite question : ça ne marchera pas si les autres colonnes sont
de
la même grandeur que la colonne A (ce qui est mon cas) ?


Bonsoir,
Il faut t'assurer que la colonne A soit la plus longue

Sub suplignesL()
'Supprime toutes les lignes de la feuille active
' si le contenu de la colonne L en regard est
' numérique et >0
'Suppose que la colonne A soit la plus longue
Dim zLiG As Long
zLiG = Range("A7308").End(xlUp).Row
For i = zLiG To 1 Step -1
If IsNumeric(Cells(i, "L").Value) And _
Cells(i, "L").Value > 0 Then
Cells(i, "L").EntireRow.Delete
End If
Next i
End Sub

--
http://www.excelabo.net/mpfe/connexion.php
http://dj.joss.free.fr/trombine.htm
Avec plaisir
Philippe.R
"Soya" a écrit dans le message de
news:
Re-Bonjour,

J'ai un tableau de 7307 lignes. En colonne L, j'ai mon critère de
suppression. C'est-à-dire, si le contenu de la cellule en L > 0, alors
on
supprime la ligne.

Avant de vous embêter, j'ai fait des recherches sur le site et j'ai
trouvé
un code que j'ai voulu adapter à mon cas, mais ça ne fonctionne pas.

Pouvez-vous me dire où il manque un peu d'huile ? Merci !

Sub suplignesB()
'Supprime toutes les lignes de la feuille active si le contenu de la
colonne
' L en regard est numérique et >0
'Suppose que la colonne A soit la plus longue
Dim zLiG As Long
zLiG = Range("A7308").End(xlUp).Row
For i = zLiG To 1 Step -1
If Cells(i, 12).Value > 0 Then
Cells(i, 12).EntireRow.Delete
End If
Next i












Avatar
Philippe.R
Bonsoir Soya,
Ce que je te propose dans ce cas, c'est de nommer la ligne 5743
"demarcation" et d'utiliser alors ceci :

Sub suplignesL_2()
'Supprime toutes les lignes de la feuille active
' situées au dessus d'un plage nommée si le
' contenu de la colonne L en regard est
' numérique et >0
'Suppose une plage nommée demarcation
Dim zLiG As Long
zLiG = Range("demarcation").Row - 1
For i = zLiG To 1 Step -1
If IsNumeric(Cells(i, "L").Value) And _
Cells(i, "L").Value > 0 Then
Cells(i, "L").EntireRow.Delete
End If
Next i
End Sub

--
http://www.excelabo.net/mpfe/connexion.php
http://dj.joss.free.fr/trombine.htm
Avec plaisir
Philippe.R
"Soya" a écrit dans le message de
news:
Bonjour Philippe !

Ça ne marche toujours pas. Aucune ligne n'est supprimée.
Voici davantage de détails :
La première partie de mon tableau va de A8 à L5742
La ligne 5743 est vide, surlignée en jaune, comme ligne de démarcation.
La deuxième partie va de A5744 à L7378

Je veux supprimer les lignes contenant une valeur en L dans la première
partie. Dans le code VBA, j'entre donc "A5742". Les colonnes ont toutes
une
longueur égale.

Je ne comprends vraiment pas... Pouvez vous m'éclairer ?

Merci à l'avance.


Re,
Si, cela fonctionnera, ce qu'il ne faut pas, c'est que la colonne A soit
plus courte, ou bien changer dans la ligne :
zLiG = Range("A7308").End(xlUp).Row
A par la lettre de la colonne dont on sait qu'elle ne sera jamais plus
courte que les autres
--
http://www.excelabo.net/mpfe/connexion.php
http://dj.joss.free.fr/trombine.htm
Avec plaisir
Philippe.R
"Soya" a écrit dans le message de
news:
Bonsoir Philippe,

Merci pour votre aide !

J'ai une petite question : ça ne marchera pas si les autres colonnes
sont
de
la même grandeur que la colonne A (ce qui est mon cas) ?


Bonsoir,
Il faut t'assurer que la colonne A soit la plus longue

Sub suplignesL()
'Supprime toutes les lignes de la feuille active
' si le contenu de la colonne L en regard est
' numérique et >0
'Suppose que la colonne A soit la plus longue
Dim zLiG As Long
zLiG = Range("A7308").End(xlUp).Row
For i = zLiG To 1 Step -1
If IsNumeric(Cells(i, "L").Value) And _
Cells(i, "L").Value > 0 Then
Cells(i, "L").EntireRow.Delete
End If
Next i
End Sub

--
http://www.excelabo.net/mpfe/connexion.php
http://dj.joss.free.fr/trombine.htm
Avec plaisir
Philippe.R
"Soya" a écrit dans le message de
news:
Re-Bonjour,

J'ai un tableau de 7307 lignes. En colonne L, j'ai mon critère de
suppression. C'est-à-dire, si le contenu de la cellule en L > 0,
alors
on
supprime la ligne.

Avant de vous embêter, j'ai fait des recherches sur le site et j'ai
trouvé
un code que j'ai voulu adapter à mon cas, mais ça ne fonctionne pas.

Pouvez-vous me dire où il manque un peu d'huile ? Merci !

Sub suplignesB()
'Supprime toutes les lignes de la feuille active si le contenu de la
colonne
' L en regard est numérique et >0
'Suppose que la colonne A soit la plus longue
Dim zLiG As Long
zLiG = Range("A7308").End(xlUp).Row
For i = zLiG To 1 Step -1
If Cells(i, 12).Value > 0 Then
Cells(i, 12).EntireRow.Delete
End If
Next i