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 :

Pb avec récupération poucentage


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 25
    Par défaut Pb avec récupération poucentage
    Bonjour.
    Je récupère un champ qui contient un pourcentage : 31,7 %.
    Je l'ai mis dans du currency.
    Quand je regarde le résultat, je récupère 0,317.
    J'ai essayé avec d'autres formats, c'est toujours pareil.
    Après, quoi que je fasse, je n'arrive pas à retrouver mon chiffre, il est arrondi à 31%.
    Je suis désolée si ma question est bête. J'y ai passé des heures et peut-être que j'ai les yeux qui se croisent à force et que je ne vois plus ce qui doit vous paraître évident.
    Est-ce que quelqu'un veut bien m'aider ?
    Je suis débutante et perdue.
    Merci mille fois.

  2. #2
    Membre éprouvé Avatar de defluc
    Homme Profil pro
    Architecte
    Inscrit en
    Mai 2002
    Messages
    1 383
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 76
    Localisation : Belgique

    Informations professionnelles :
    Activité : Architecte

    Informations forums :
    Inscription : Mai 2002
    Messages : 1 383
    Par défaut
    Transmets-nous le code de ta macro pour qu'on puisse t'aider

  3. #3
    Membre averti
    Femme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 25
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Dim MargeCible As Currency
     
    MargeCible = Workbooks(FichierImport).Sheets("Info. Generales").Cells(13, 15)
     
    'La cellule que je récupère est en format % mais quand je regarde avec le débogueur, je récupère 0,317
     
    Workbooks("BL_SOLUTIONS_TDB encours.xlsm").Sheets("Affaires en cours").Range("G" + CStr(NumLigneProjet)).Select
                    Selection.Style = "Percent"
                    Selection.NumberFormat = "0,0%"
                    Workbooks("BL_SOLUTIONS_TDB encours.xlsm").Sheets("Affaires en cours").Range("G" + CStr(NumLigneProjet)) = MargeCible
    J'ai essayé dans tous les sens avec tous les formats, ça fait pareil ...

  4. #4
    Expert confirmé
    Avatar de Qwazerty
    Homme Profil pro
    La très haute tension :D
    Inscrit en
    Avril 2002
    Messages
    4 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : La très haute tension :D
    Secteur : Service public

    Informations forums :
    Inscription : Avril 2002
    Messages : 4 128
    Par défaut
    Salut

    Je ne comprend pas ton problème, c'est un pourcentage, il est bien exprimé avec une valeur inférieur ou égale à 1.
    Pour le stocker, un Double sera bien suffisant. Si ensuite tu veux retrouver ta valeur sous forme 31.7, il te suffit de multiplier par 100 le contenu de ta variable Double (0.317).

    Concernant ton code
    Plutôt que de sélectionner la cellule, il est préférable de seulement la pointer pour travailler avec, comme ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    with Workbooks("BL_SOLUTIONS_TDB encours.xlsm").Sheets("Affaires en cours").Range("G" + CStr(NumLigneProjet))
           .Style = "Percent"
           .NumberFormat = "0,0%"
           .value = MargeCible
    End With
    [Edit]
    J'ai testé pour comprendre voila une solution à ton problème, ton format n'est pas bon.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub teste()
    Dim MargeCible As Double
     
    MargeCible = Range("A1")
     
    With Range("B1")
           .Style = "Percent"
           .NumberFormat = "#,#00.0%"
           .Value = MargeCible
    End With
    End Sub
    [/Edit]

    ++
    Qwaz

    MagicQwaz := Harry Potter la baguette en moins
    Le monde dans lequel on vit
    Ma page perso DVP
    Dernier et Seul Tutoriel : VBA & Internet Explorer
    Dernière contribution : Lien Tableau Structuré et UserForm
    L'utilisation de l’éditeur de message

  5. #5
    Membre averti
    Femme Profil pro
    Inscrit en
    Décembre 2011
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Décembre 2011
    Messages : 25
    Par défaut Merci, merci, merci, merci...
    Ca fonctionne !!!
    C'est super gentil, j'y ai vraiment passé des heures cet après-midi.
    Merci beaucoup.
    :-)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Menu contextuel avec récupération de la valeur du champ cliqué
    Par lodan dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 19/05/2007, 18h28
  2. [EXCEL] problème avec récupération automatique
    Par Moheva dans le forum Excel
    Réponses: 2
    Dernier message: 27/07/2006, 10h11
  3. pb avec récupération de chaine (getline)
    Par splinternabs dans le forum C++
    Réponses: 2
    Dernier message: 23/04/2006, 10h09
  4. [Debutant] Pb avec récupération valeurs des boutons radio
    Par Jibees dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 28/03/2006, 15h25
  5. [Oracle] Insert avec récupération valeur de la cle
    Par Silvia12 dans le forum Oracle
    Réponses: 2
    Dernier message: 11/03/2006, 04h28

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