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

VBScript Discussion :

Format d'un nombre avec les zéros devant


Sujet :

VBScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 20
    Par défaut Format d'un nombre avec les zéros devant
    Bonjour,

    dans mon script je récupère une valeur (nombre) sur 7 caractères. Hors si mon chiffre est le 737 j'aurais comme résultat 737.
    Je souhaiterais que l'affichage du MontantHT s'affiche toujours sur 7 caractères soit 0000737.

    Pouvez-vous m'aidez je sèche...

    voici le code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    '--- Chargement du fichier en lecture ---
        Set fso = CreateObject("Scripting.FileSystemObject")
        Set fread = Fso.OpenTextFile("\\****\administration\****\Statistique\statol\statol", ForReading)
     
        Set fwrite = fso.OpenTextFile("\\****\administration\****\Statistique\statol\statol2", ForWriting,true)
    '--- Boucle de lecture du fichier AR de l'AS400 ---
         while Not fread.AtEndOfStream
    '--- Lecture ligne à ligne ---
                  ligne= fread.ReadLine
                  Client=Mid(ligne,1,11)
                  Rayon=Mid(ligne,13,1)
                  Srayon=Mid(ligne,15,2)
                  If Mid(Ligne,18,3)=" " then
                     MontantHT=Mid(ligne,26,7)
                     MontantRev=Mid(ligne,34,7)
                     MontantTTC=Mid(ligne,42,7)
                     fwrite.write Client & Rayon & Srayon & MontantHT & MontantRev & MontantTTC & chr(10)

    merci par avance

  2. #2
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Bonjour
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Public Function FormatSpc(Quoi)
    FormatSpc = String(7 - Len(Quoi), "0") & Quoi
    End Function
     
    MsgBox FormatSpc(123)
    Donc pour toi
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    '. . . .
                  If Mid(Ligne,18,3)=" " then
                     MontantHT=Mid(ligne,26,7)
                     MontantHT= FormatSpc(MontantHT)
    ' ou bien plus court
                     MontantHT= FormatSpc(Mid(ligne,26,7))
    '. . . .
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

  3. #3
    Membre chevronné Avatar de pitchalov
    Homme Profil pro
    Inscrit en
    Avril 2007
    Messages
    340
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 340
    Par défaut
    Bonjour,

    Une autre technique, si ça peut t'être utile :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MontantHT = Right("0000000" & MontantHT, 7)
    Donc pour toi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MontantHT=  Right("0000000" & Mid(ligne,26,7), 7)

  4. #4
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 20
    Par défaut
    J'ai essayé avec la technique à pitchalov mais voici le résultat

    00701201003100 717 538 0 858
    00701201003101 17966 9350 0 21488
    00701201003102 13663 8591 0 16341
    00701201003103 16946 10374 0 20267
    00701201003104 15350 9001 0 18359
    00701201003105 39422 23930 0 47149
    00701201003106 10714 6171 0 12814
    00701201003107 8793 5562 0 10417
    00701201003108 32892 23823 0 38877
    00701201003109 -2020 80 0 -2416
    00701201003200003 253 154 0 302
    alors que j'aurais souhaité 000071700053800000858 par exmple pour la première ligne.

  5. #5
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 20
    Par défaut
    J'ai le même resultat avec la technique de Progelec....

    Avant :
    00701201003100 717 538 858
    00701201003101 17966 9350 21488
    00701201003102 13663 8591 16341
    00701201003103 16946 10374 20267
    00701201003104 15350 9001 18359


    Apres:
    00701201003100 717 538 0 858
    00701201003101 17966 9350 0 21488
    00701201003102 13663 8591 0 16341
    00701201003103 16946 10374 0 20267
    00701201003104 15350 9001 0 18359

  6. #6
    Expert confirmé
    Avatar de ProgElecT
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2004
    Messages
    6 132
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Décembre 2004
    Messages : 6 132
    Par défaut
    Ton énoncé au premier message n’est pas le même que tes demandes suivantes, que je n’arrive d’ailleurs pas à comprendre.
    A moins que dans 00701201003100 717 538 858 tu ne veuilles retenir que les 3 derniers groupes de 3 chiffres, 717, 538, 858 ,auquel tu veux ajouter 4 zéro ?
    :whistle:pourquoi pas, pour remercier, un :plusser: pour celui/ceux qui vous ont dépannés.
    saut de ligne
    OOOOOOOOO👉 → → Ma page perso sur DVP ← ← 👈

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

Discussions similaires

  1. Formater chiffres à 6 nombres en conservant les zéros devant
    Par Runsh63 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 21/06/2011, 09h02
  2. Comment supprimer les "zéros" devant une variable
    Par solorac dans le forum Excel
    Réponses: 4
    Dernier message: 16/05/2008, 23h14
  3. Réponses: 9
    Dernier message: 09/04/2008, 18h30
  4. Réponses: 7
    Dernier message: 20/12/2006, 18h18
  5. Réponses: 9
    Dernier message: 20/03/2006, 09h59

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