Supprimer les valeurs zéro [EXCEL]
Résolu
iliesss
Messages postés
92
Date d'inscription
Statut
Membre
Dernière intervention
-
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24581 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour
J'ai une plage (A1:BA3000) qui contienne que des nombres.
J'ai essayé de supprimer les valeurs zéro avec le code suivant:
Mon problème ce que je doit répéter ce code 53 fois et je change que le N° de Field (de 3 au 53) et la range ("c2:c3000") au range ("ba2:ba3000")
Question
SVP comment faire pour réduire ces 53 codes pour supprimer les valeurs zéro.
J'ai une plage (A1:BA3000) qui contienne que des nombres.
J'ai essayé de supprimer les valeurs zéro avec le code suivant:
Range("A1:ba3000").AutoFilter Field:=3, Criteria1:="0,00"
Range("c2:c3000").SpecialCells(xlCellTypeVisible).ClearContents
Range("A1:ba3000").AutoFilter Field:=3
Mon problème ce que je doit répéter ce code 53 fois et je change que le N° de Field (de 3 au 53) et la range ("c2:c3000") au range ("ba2:ba3000")
Question
SVP comment faire pour réduire ces 53 codes pour supprimer les valeurs zéro.
1 réponse
-
Bonjour,
à mettre dans la feuille concernée :Sub suppZero() Dim c As Range Application.ScreenUpdating = False For Each c In [C2:BA3000] If c = 0 Then c.ClearContents Next c Application.ScreenUpdating = true End Sub
On pourrait faire plus rapide mais est-ce que ça vaut le coup...
eric
edit :
en sûrement plus rapide mais je te laisse tester ayant la flemme de construire un classeur.Sub suppZero() Dim f As Long Application.ScreenUpdating = False For f = 3 To 53 Range("A1:ba3000").AutoFilter Field:=f, Criteria1:=0 On Error Resume Next [C2].Offset(0, f - 3).Resize(2999, 1).SpecialCells(xlCellTypeVisible).ClearContents On Error GoTo 0 Range("A1:ba3000").AutoFilter Next f Application.ScreenUpdating = False End Sub
eric
edit2 : correction du 2nd code