Pb Numberformat dans une macro

Bonjour,

je m'adresse à vous car je ne parviens pas à résoudre un problème de format dans une macro.
Tout se passe bien lors de la création mais dès que je la répète la macro ne respecte pas le format de nom demandé initialemen et retient un format personnalisé.

Voici le code
With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
        "Nombre de RAF")
        .Caption = "Jours RAF"
        .Function = xlSum
        .NumberFormat = "0,00"
    End With
    Range("G3").Select
    ActiveSheet.PivotTables("Tableau croisé dynamique1").CalculatedFields.Add _
        "Avancement", "='Quantité" & Chr(10) & "Totale" & Chr(10) & "Passée ' /'Quantité" & Chr(10) & "Prévue'", True
    ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields("Avancement"). _
        Orientation = xlDataField
    With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
        "Somme de Avancement")
        .Caption = "% Avancement"
        .NumberFormat = "0%"

Pour le format de nombre au lieu d'obtenir 12,00 je retrouve 012 dans la cellule et pour le pourcentage au lieu de 10,00 % j'obtiens 10% et j'ai besoin de connaître les chiffres après la virgule.

Merci de votre aide

EDIT : Ajout de la coloration syntaxique.
Merci d'y penser à l'avenir.

3 réponses

  1. Bonjour,

    C'est peut-etre un probleme de separateur de decimale pour 12,00, essayez
        'decimale(s)
        Range("B4").NumberFormat = "0.00"


    et pour les decimales %
        '%
        Range("B2").NumberFormat = "0.00%"
    
    0
    1. Bonjour,
      Merci pour votre réponse mais elle ne résout pas mon problème.

      J'ai rectifié Range car dans mon cas je prend l'ensemble d'une colonne.

      Si vous avez une autre suggestion, je prends toujours.
      0
      1. Bonjour,

        Ben avec l'enregistreur de macro, j'obtiens la meme chose pour une colonne du TCD !!!!

        Sub Macro1()
        '
        ' Macro1 Macro
        '
        
        '
            Range("B4").Select
            With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
                "Moyenne de Température extérieure")
                .Caption = "Nombre de Température extérieure"
                .Function = xlCount
                .NumberFormat = "0.00"
            End With
        End Sub
        Sub Macro2()
        '
        ' Macro2 Macro
        '
        
        '
            Range("B4").Select
            With ActiveSheet.PivotTables("Tableau croisé dynamique1").PivotFields( _
                "Nombre de Température extérieure")
                .NumberFormat = "0.00%"
            End With
        End Sub
        
        0