Excel vba supp la ligne si "F" et "G" vide
Résolu
iliesss
Messages postés
92
Date d'inscription
Statut
Membre
Dernière intervention
-
Mytå Messages postés 4246 Date d'inscription Statut Contributeur Dernière intervention -
Mytå Messages postés 4246 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour
J'ai le code suivant qui me permettre de supprimer toute ligne si les cellules F et G sont nulles a la fois.
SubligneFetGvide()
derniereLigne = ActiveSheet.UsedRange.Rows.Count
Application.ScreenUpdating = False
For r = derniereLigne To 1 Step -1
If (Range ("F" & r)) = 0 And (Range ("G" & r)) = 0 ThenRows(r).Delete
Next r
End Sub
Mon tableau (A : H) contient 50000 lignes alors le code commence de 1 aux 50000 lignes et après le code mon tableau devient de 1 au 43600.
J'ajoute 125 lignes mon tableau maintenant contient 43725 lignes (43600+25) si je lance le code il va commencer de 1 au 43725 et ça prendre du temps. C'est-à-dire le code toujours commence de la première ligne.
Comment modifier ce code pour commencer de 43600 au 43725 c'est-à-dire la dernière ligne de l'ancienne exécution et ainsi de suite.
Merci
J'ai le code suivant qui me permettre de supprimer toute ligne si les cellules F et G sont nulles a la fois.
SubligneFetGvide()
derniereLigne = ActiveSheet.UsedRange.Rows.Count
Application.ScreenUpdating = False
For r = derniereLigne To 1 Step -1
If (Range ("F" & r)) = 0 And (Range ("G" & r)) = 0 ThenRows(r).Delete
Next r
End Sub
Mon tableau (A : H) contient 50000 lignes alors le code commence de 1 aux 50000 lignes et après le code mon tableau devient de 1 au 43600.
J'ajoute 125 lignes mon tableau maintenant contient 43725 lignes (43600+25) si je lance le code il va commencer de 1 au 43725 et ça prendre du temps. C'est-à-dire le code toujours commence de la première ligne.
Comment modifier ce code pour commencer de 43600 au 43725 c'est-à-dire la dernière ligne de l'ancienne exécution et ainsi de suite.
Merci
2 réponses
-
Salut le forum
La méthode la plus rapide serait d'utiliser un Filtre Automatique.
Sub SupprimerLignes() ActiveSheet.AutoFilterMode = False With ActiveSheet.Range("A1").CurrentRegion .AutoFilter Field:=6, Criteria1:="0" .AutoFilter Field:=7, Criteria1:="0" .Offset(1, 0).SpecialCells(xlCellTypeVisible).EntireRow.Delete End With ActiveSheet.AutoFilterMode = False End Sub
Mytå -
bonjour
Mon tableau (A : H) contient 20000 lignes alors le code commence de 1 aux 40000 lignes et après le code mon tableau devient de 1 au 43600.
Ceci est-il bien cohérent ?
Comment tu peux avoir 3600 lignes de plus en faisant des suppressions ?