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

VBA Access Discussion :

[a-03] Instruction Format Affichage de nombres


Sujet :

VBA Access

  1. #1
    Membre éprouvé
    Avatar de Gandalf24
    Homme Profil pro
    Integrateur Odoo
    Inscrit en
    Mai 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Integrateur Odoo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 481
    Points : 1 013
    Points
    1 013
    Par défaut [a-03] Instruction Format Affichage de nombres
    Hug a tous ,

    Aide access (exemple donnés) dit
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ' User-defined formats.
    MyStr = Format(5459.4, "##,##0.00")    ' Returns "5,459.40".
    Or chez moi j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MyStr = Format(5459.4, "##,##0.00")=>"5 459,40".
    Vous avez deja eu le pb ?
    Existe-t-il une magouille, sinon he reecris vite fait la fonction...

    a+ et merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 639
    Points : 34 361
    Points
    34 361
    Par défaut
    salut,
    Quel format exact souhaites-tu avoir stp ?

  3. #3
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 905
    Points
    55 905
    Billets dans le blog
    131
    Par défaut
    Bonjour

    Tu dois renseigner le format comme dit dans l'aide, mais ce format dépendra de tes paramètres régionaux.

    Si, pour tes paramètres régionaux, le séparateur de milliers est l'espace, tu renseignera la virgule dans ton code, mais tu auras visuellement l'espace dans le contrôle ou ta variable

  4. #4
    Membre éprouvé
    Avatar de Gandalf24
    Homme Profil pro
    Integrateur Odoo
    Inscrit en
    Mai 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Integrateur Odoo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 481
    Points : 1 013
    Points
    1 013
    Par défaut Re
    Merci pour le reponses,

    jpcheck:
    je souhaite avoir un truc du style 123,451,154.12 (format anglais)

    Pierre:
    je comprends pas trop ta reponse :
    Ok sur le fait que ca utilise des parametre regionaux mais pour moi c'etait valable uniquement dans le cadre de l'utilisation de formats définis par access comme "standard" ou "percent" ou "scientifiq" ou ...(specifiable directement dans la propriete format).
    De plus, il s'agit d'un renvoie de chaine de caracteres et pas d'un espece "masque visuel".
    => je comprends pas...

  5. #5
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 905
    Points
    55 905
    Billets dans le blog
    131
    Par défaut
    En fait, il a fallu qu'Access définisse ses propres séparateurs, indépendamment des paramètres régionaux et/ou système utilisés. Sans cela, il aurait été impossible de coder des formats en dur puisque la construction de la chaine de format aurait dépendu du système sur lequel elle tournait. Donc, Access utilise la virgule comme séparateur de milliers et le point comme séparateur décimal.

    Regarde ceci (mes paramètres régionaux sont l'espace pour les milliers et la virgule pour le séparateur décimal)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    format(34545672.54,"# ##0.00")
    renvoie
    34545 672,54
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    format(34545672.54,"#,##0.00")
    renvoie
    34 545 672,54
    Donc, à toi de déterminer via format si tu souhaites utiliser les séparateurs, mais le choix de ceux-ci est laissé à l'appréciation de l'utilisateur

  6. #6
    Membre éprouvé
    Avatar de Gandalf24
    Homme Profil pro
    Integrateur Odoo
    Inscrit en
    Mai 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Integrateur Odoo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 481
    Points : 1 013
    Points
    1 013
    Par défaut re
    Ok,
    Merci pour la reponse.
    je vais donc rapidement coder une fonction pour forcer le formatage independament des locals settings (mes users sont francais) mais doivent generer des documents pour des anglais
    => ils ont pas trop envie de modifier leur local settings.

  7. #7
    Responsable
    Office & Excel


    Homme Profil pro
    Formateur et développeur chez EXCELLEZ.net
    Inscrit en
    Novembre 2003
    Messages
    19 124
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 57
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur et développeur chez EXCELLEZ.net
    Secteur : Enseignement

    Informations forums :
    Inscription : Novembre 2003
    Messages : 19 124
    Points : 55 905
    Points
    55 905
    Billets dans le blog
    131
    Par défaut
    Ceci devrait convenir
    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    Function FormatAnglais(Nombre) As String
        Dim SepMil As String
        Dim SepDec As String
     
        SepMil = getSepMil()
        SepDec = getSepDec()
     
        If IsNumeric(Nombre) Then _
            FormatAnglais = Replace(Replace(Format(Nombre, "#,##0.00"), SepDec, "."), SepMil, ",")
    End Function
     
    Function getSepMil() As String
        Dim ChaineTemp As String
     
        ChaineTemp = Format(1000, "#,##0")
        If Len(ChaineTemp) = 4 Then
            getSepMil = ""
            Else
            getSepMil = Mid(ChaineTemp, 2, 1)
        End If
    End Function
     
    Function getSepDec() As String
        Dim ChaineTemp As String
     
        ChaineTemp = Format(1.1, "0.0")
        getSepDec = Mid(ChaineTemp, 2, 1)
    End Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    formatanglais(23456789.78)
    renvoie la chaîne

  8. #8
    Membre éprouvé
    Avatar de Gandalf24
    Homme Profil pro
    Integrateur Odoo
    Inscrit en
    Mai 2002
    Messages
    481
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Integrateur Odoo
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2002
    Messages : 481
    Points : 1 013
    Points
    1 013
    Par défaut re
    Merci pour le code l'ami.
    Entre tempos j'avais deja créé la fonction (qui ne tiens absolument pas compte des reginals settings) :


    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    Public Function GiveEnglishNumber(myNumber As Double) As String
    ' Retourne un format n,nnn,nnn,nnn.nn
    Dim res As String
    Dim nb As Double
    If IsNull(myNumber) Then
        res = ""
    Else
        nb = Fix(myNumber * 100)
        strRes = CStr(nb)
        res = ""
        For i = 1 To Len(strRes)
            If i Mod 3 = 0 Then
                If i = 1 Then
                    res = Mid(strRes, Len(strRes) - i + 1, 1) + "." + res
                Else
                    res = Mid(strRes, Len(strRes) - i + 1, 1) + "," + res
                End If
            Else
               res = Mid(strRes, Len(strRes) - i + 1, 1) + res
            End If
        Next
        If i = 2 Then
            res = "0." + res
        End If
    End If
    GiveEnglishNumber = res
    End Function

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

Discussions similaires

  1. affichage formater d'un nombre saisi ds textbox
    Par Teddy7 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 05/05/2010, 08h47
  2. Réponses: 1
    Dernier message: 29/01/2008, 16h30
  3. Format d'affichage des nombres
    Par Surikat14 dans le forum MATLAB
    Réponses: 4
    Dernier message: 27/07/2007, 11h33
  4. Format d'affichage des nombres
    Par Kernald dans le forum Langage
    Réponses: 7
    Dernier message: 13/01/2007, 10h16
  5. Réponses: 14
    Dernier message: 07/06/2006, 09h28

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