Supprimer les valeurs zéro [EXCEL]
Résolu
iliesss
Messages postés
113
Date d'inscription
Statut
Membre
Dernière intervention
-
eriiic Messages postés 24603 Date d'inscription Statut Contributeur Dernière intervention -
eriiic Messages postés 24603 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.
A voir également:
- Supprimer les valeurs zéro [EXCEL]
- Supprimer rond bleu whatsapp - Guide
- Remettre a zero un pc - Guide
- Liste déroulante excel - Guide
- Supprimer une page word - Guide
- Word et excel gratuit - Guide
1 réponse
Bonjour,
à mettre dans la feuille concernée :
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.
eric
edit2 : correction du 2nd code
à 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
merci beaucoup pour la solution, le deuxième code est rapide que le premier mais les deux codes fonctionnent
merci encore une fois .
Bonne intervention lentz ;-)
eric