[RÉSOLU] VBA : Supprimer lignes si valeur numérique

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

dionys0s

XLDnaute Impliqué
Bonsoir le forum

j'ai un tableau à 7 colonnes

J'aimerais supprimer automatiquement toutes les lignes dont la cellule de la colonne G contient la valeur 0.

Merci d'avance pour votre aide
 
Dernière édition:
Re : VBA : Supprimer lignes si valeur numérique

Carcharodon-Carcharias "0s" n'est pas la durée de ma patience non... mais je regardais désespérément mon topic se rapprocher de la page 2 et j'ai eu peur qu'il sombre dans l'oubli. Je confesse.

Suistrop je suis un vrai noob en vba. J'en suis à mon troisième jour et je t'avoue ne pas avoir compris du tout comment appliquer ta solution.
 
Re : VBA : Supprimer lignes si valeur numérique

Salut,

Si tu es un noob en VBA, raison de plus pour chercher par toi meme et ne pas avoir la solution directement.
ecris un code de ce type la

for i = 100 to 1 step -1
if cells(i,x) = ... then
row(i).delete
end if
next i

Voila j ai presque tout ecrit y a que 2 ou 3 petites modifs à apporter.

Cdt
 
Re : VBA : Supprimer lignes si valeur numérique

J'ai essayé avec ce que tu m'as donné mais je ne comprends pas.

Je pensais que ça marcherait comme ceci

[HIGHLIGHT]for i = 65536 to 1 step -1
if cells(i,x) = 0 Then
row(i).delete
end if
next i

[/code]

Mais rien à faire
En fait je ne vois pas comment faire référence au fait que la valeur se trouve en colonne G. J'ai bien essayé en remplacant le x par G mais ça ne marche pas non plus...

Sorry...
 
Dernière édition:
Re : VBA : Supprimer lignes si valeur numérique

Bonjour à tous,

pas out suivi mais essaye peut être ainsi :
Code:
Option Explicit
Sub test()
Dim i As Long
Application.ScreenUpdating = False
For i = Range("G65536").End(xlUp).Row To 1 Step -1
    If Cells(i, 7) = 0 Then Rows(i).Delete
Next i
Application.ScreenUpdating = True
End Sub
bon après midi
@+
 
Re : VBA : Supprimer lignes si valeur numérique

Ca y est ! merci beaucoup grâce à toi j'ai compris. Il fallait que je mette 7 au lieu de G...

Ceci dit j'ai trouvé une solution dont le temps de calcul me semble plus rapide (et que je comprends également)

Je la soumet à titre informatif :

Code:
Range("G7").Select
Do While ActiveCell <> ""
If ActiveCell = 0 Then
ActiveCell.EntireRow.Delete
Else
ActiveCell.Offset(1, 0).Select
End If
Loop

En tout cas merci pour votre aide à tous
 
Dernière édition:
Re : VBA : Supprimer lignes si valeur numérique

Re,

si tu veux chronomètrer :
Code:
Option Explicit
Sub test()
Dim i As Long, t As Single
t = Timer
Application.ScreenUpdating = False
For i = Range("G65536").End(xlUp).Row To 1 Step -1
    If Cells(i, 7) = 0 Then Rows(i).Delete
Next i
Application.ScreenUpdating = True
MsgBox Timer - t
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
2
Affichages
112
Réponses
18
Affichages
603
Retour