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 :

ajouter des zéro devant un nombre décimal


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut ajouter des zéro devant un nombre décimal
    Bonsoir,

    Je dois convertir un fichier excel en txt, dans une colonne j'ai une chaine numérique qui doit être décimale avec 3,2 et si le nombre décimal et inférieur
    (ex: 10,25 ou 2,98) il faut rajouter des zero devant.

    voilà le code ci-dessous:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    If Len(sTempo) = 5 Then sTempo = Left(sTempo, 0) & "0" & sTempo
     
    If Len(sTempo) = 4 Then sTempo = Left(sTempo, 0) & "00" & sTempo
    Cela fonctionne mais j'ai aussi une colonne avec décimale 12,2

    et je voudrais trouver plus simple que de répéter pour chaque chiffre manquant une ligne.

    En espérant d'avoir été clair.

    Merci pour vos réponse.

  2. #2
    Expert confirmé
    Avatar de pc75
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    3 662
    Détails du profil
    Informations personnelles :
    Âge : 69
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 3 662
    Points : 4 047
    Points
    4 047
    Par défaut
    Bonjour,

    Regarde la fonction String().

  3. #3
    Membre émérite
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    2 130
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 2 130
    Points : 2 443
    Points
    2 443
    Par défaut
    Salut les4c77 et le forum
    pas sûr de comprendre
    Un format de type 00,00 donnera 03,20 - 12,20 - 02,98

    en VBA, Format(sTempo,"00.00"), transformera le nombre de la variable sTempo en un nombre de 4 digits
    A+

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2007
    Messages
    7
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2007
    Messages : 7
    Points : 6
    Points
    6
    Par défaut
    Bonjour,

    Je me suis surement mal exprimé, j'arrive à ajouter des zéro que le nombre n'a pas de décimal avec le code suivant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sTempo = Format(sTempo, String(5, "0"))
    exemple: 882 on obtient 00882
    2 on obtient 00002
    mais dés lors que j'ai un nombre décimal, cetteformule ne fonctionne plus et je voudrais obtenir

    exemple : 8,82 obtenir 008,82
    25,12 obtenir 025,12

    Dans cette exemple la chaine ne fait que 6 caracteres (3 , 2) mais chane une chaine de 14 caracteres( 12,2).

    Merci d'avance pour vos réponses.

  5. #5
    Expert éminent
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Points : 6 699
    Points
    6 699
    Par défaut
    Bonjour,

    ce n'est pas un truc du genre que tu cherches tout simplement ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Cells(3, 3).NumberFormat = "0,000.00"
    Cells(3, 4).NumberFormat = " 00,000,000,000.00"

    PS : attention au fait que sur un Excel de base français, l'éditeur vba étant US, les . et les , sont inversés, le code ci dessus donnera des séparateurs de milliers blancs chez moi selon mon paramétrage...

    cordialement,

    Didier

Discussions similaires

  1. [XL-2007] Ajouter des zeros devant le nombre et le convertir en texte
    Par SERGE6280 dans le forum Excel
    Réponses: 2
    Dernier message: 03/04/2013, 20h52
  2. [Conception] Ajouter des "0" devant un nombre
    Par xender dans le forum PHP & Base de données
    Réponses: 11
    Dernier message: 18/01/2012, 16h19
  3. Ajouter un zéro devant un nombre
    Par solorac dans le forum Excel
    Réponses: 1
    Dernier message: 07/06/2007, 11h15
  4. ajouter des zeros devant chiffres
    Par jolatouf dans le forum Langage
    Réponses: 3
    Dernier message: 25/10/2006, 12h10
  5. [linux] mettre des zéros devant un nombre
    Par le mage tophinus dans le forum C
    Réponses: 15
    Dernier message: 04/10/2005, 08h26

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