Excel remplacer 0 par "" en VBA

Bonjour,
Je suis sur un tableau excel, j'ai réalisé des requêtes en VBA mais j'ai un problème,
J'en suis à changer le format de ma colonne en nombre, pour fire un filtre sur les 0, les remplacer par des vides("") et remettre ma colonne en 0.00%.
Voici comment je l'ai formuler mais ca ne marche pas, la sélection ne me donne rien:
Sheets("resultat").Select
Cells.Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("W:W").Select
Application.CutCopyMode = False
Columns("W:W").Select
Selection.NumberFormat = "0.00"
Cells.Select
Range("G1").Activate
Selection.AutoFilter
Selection.AutoFilter Field:=23, Criteria1:=0
Columns("W:W").Select
Selection.Replace What:="0", Replacement:="", LookAt:=xlPart, _
SearchOrder:=xlByRows, MatchCase:=False, SearchFormat:=False, _
ReplaceFormat:=False
Range("W2").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.NumberFormat = "0.00%"
Range("W2").Select
Cells.Select
Range("F1").Activate
Selection.AutoFilter

Merci de votre aide.

2 réponses

  1. Contributeur
    Bonjour,
    Bonjour Mike,
    Peut-être avec..
        Columns("W:W").NumberFormat = "0.00%"
        ActiveWindow.DisplayZeros = False

    A+
    0
    1. Salut,

      pour traiter la colonne W de la ligne 2 à la ligne 20 par exemple, remplace les 0 par rien (peut s'écrire également en utilisant la syntaxe replace)

      Sub test()
      col = "W"
      For i = 2 To 20
      If Cells(i, col) = 0 Then Cells(i, col) = ""
      Cells(i, col).NumberFormat = "0.00%"
      Next i
      End Sub

      si tu as déjà des valeurs dans tes cellules il vaudrait mieux inverser la suppression des 0 et diviser les valeur par 100 sinon une valeur ex.10 donnera 1000%

      Sub test()
      col = "W"
      For i = 2 To 20
      If Cells(i, col) = 0 Then Cells(i, col) = ""
      Cells(i, col).NumberFormat = "0.00%"
      Cells(i, col) = Cells(i, col) / 100
      Next i
      End Sub

      A+
      Mike-31

      Une période d'échec est un moment rêvé pour semer les graines du savoir.
      0