IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

afficher des nombres en % ou sans les %


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 298
    Points : 886
    Points
    886
    Par défaut afficher des nombres en % ou sans les %
    bonjour,

    j'ai un TCD qui affiche des valeurs exprimées soit en nombre, soit en pourcentage.
    Quand une valeur est en nombre, je souhaite l'afficher avec séparateur des milliers et sans décimale. En revanche, lorsqu'il s'agit d'une valeur en %, alors je souhaite l'afficher en % et à 1 décimale. Et si on sélectionne des grandeurs en nombre et en % alors j'afficher en nombre. Mon code est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        'modification de l'axe verticale principal en fonction de l'unite de la (ou des) grandeur(s) selectionnee(s)
        If (isNombre = False And isPourcen = True And isUnknown = False) Then
            ActiveChart.Axes(xlValue).TickLabels.NumberFormat = "0.0%" 'axe vertical principal en % avec 1 decimale
            ActiveSheet.PivotTables("TCD1").PivotFields(" 202002").NumberFormat = "0.0%" 'affichage du TCD en pourcentage avec 1 decimale
            ActiveSheet.PivotTables("TCD1").PivotFields(" 202003").NumberFormat = "0.0%" 'affichage du TCD en pourcentage avec 1 decimale
        Else
            ActiveChart.Axes(xlValue).TickLabels.NumberFormat = "#*##0" 'axe vertical principal en nombre avec separateur des milliers et sans decimale
            ActiveSheet.PivotTables("TCD1").PivotFields(" 202002").NumberFormat = "# ##0" 'affichage du TCD avec separateur des milliers et sans decimale
            ActiveSheet.PivotTables("TCD1").PivotFields(" 202003").NumberFormat = "# ##0" 'affichage du TCD avec separateur des milliers et sans decimale
        End If
    les lignes

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
            ActiveSheet.PivotTables("TCD1").PivotFields(" 202002").NumberFormat = "0.0%" 'affichage du TCD en pourcentage avec 1 decimale
            ActiveSheet.PivotTables("TCD1").PivotFields(" 202003").NumberFormat = "0.0%" 'affichage du TCD en pourcentage avec 1 decimale
     
            ActiveSheet.PivotTables("TCD1").PivotFields(" 202002").NumberFormat = "# ##0" 'affichage du TCD avec separateur des milliers et sans decimale
            ActiveSheet.PivotTables("TCD1").PivotFields(" 202003").NumberFormat = "# ##0" 'affichage du TCD avec separateur des milliers et sans decimale
    font planter Excel qui se ferme. Sans ces lignes, la macro fonctionne très bien. Voyez-vous où se situe la cause du problème svp ?

    Merci bcp

    Bonne soirée

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par salseropom Voir le message
    Bonjour,

    Cela donne quoi la modification avec l'enregistreur de macro sur vos TCD existants ?

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 298
    Points : 886
    Points
    886
    Par défaut
    Bonjour,

    en fait j'ai déjà pris l'enregistreur de macros pour écrire ces lignes... Raison pour laquelle je sèche complètement.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par salseropom Voir le message
    Ce n'est pas plutôt vos conditions
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    If (isNombre = False And isPourcen = True And isUnknown = False) Then
    qui mettent le bazar ?

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    1 298
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 1 298
    Points : 886
    Points
    886
    Par défaut
    Bonsoir,

    alors ma première version de macro fonctionne très bien (l'affichage de l'axe vertical en % ou en nombre)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    'modification de l'axe verticale principal en fonction de l'unite de la (ou des) grandeur(s) selectionnee(s)
        If (isNombre = False And isPourcen = True And isUnknown = False) Then
            ActiveChart.Axes(xlValue).TickLabels.NumberFormat = "0.0%" 'axe vertical principal en % avec 1 decimale
        Else
            ActiveChart.Axes(xlValue).TickLabels.NumberFormat = "#*##0" 'axe vertical principal en nombre avec separateur des milliers et sans decimale
        End If
    donc je ne pense pas que le pb vienne des conditions. Mais le "bug" est que lorsque j'essaye de mettre tout le code alors Excel "doit fermer". C'est bizarre quand même. Donc là je sèche complètement.

Discussions similaires

  1. Afficher des nombres sur les images
    Par nawraz dans le forum OpenCV
    Réponses: 1
    Dernier message: 02/01/2012, 12h18
  2. [JavaScript] [SRC] afficher des nombres en toutes lettres
    Par javatwister dans le forum Contribuez
    Réponses: 2
    Dernier message: 07/09/2007, 13h23
  3. Compter le nombre de lignes sans les doublons
    Par byrdo dans le forum Excel
    Réponses: 15
    Dernier message: 15/06/2007, 14h30
  4. Comment afficher des images en .eps sans passer par un .dvi
    Par Fox213 dans le forum Tableaux - Graphiques - Images - Flottants
    Réponses: 7
    Dernier message: 08/06/2007, 12h18
  5. [SGBD] MySQL:Probleme lorsque je evux afficher des nombres
    Par pierrot10 dans le forum SQL Procédural
    Réponses: 2
    Dernier message: 16/10/2005, 00h59

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo