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 :

code pour forcer . dans paramètres régionaux


Sujet :

VBA Access

  1. #1
    Membre chevronné Avatar de petitours
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Février 2003
    Messages
    1 989
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 989
    Points : 2 210
    Points
    2 210
    Par défaut code pour forcer . dans paramètres régionaux
    Bonjour

    Face au classique problème de . ou de , dans les paramètres régionaux, avez vous un code VB qui permet de forcer au lancement de l'appli le "." et éventuellement de repasser en "," en quittant ?

    Je dois utiliser 2 applis 36000x par jour qui demandent chacune un séparateur différent et je peux intégrer ce code dans l'une des deux applis...

    Merci par avance pour votre aide

  2. #2
    Rédacteur/Modérateur
    Avatar de argyronet
    Homme Profil pro
    Panseur de bobos en solutions ETL
    Inscrit en
    Mai 2004
    Messages
    5 128
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Panseur de bobos en solutions ETL
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2004
    Messages : 5 128
    Points : 12 185
    Points
    12 185
    Billets dans le blog
    5
    Par défaut
    Bonjour,

    Tu peux utiliser ce code dans ton appli :
    Tu copies les deux fonctions dans un module...
    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
    29
    30
    31
    32
    33
    34
    35
     
    Option Explicit
     
    Private Const LOCALE_SDECIMAL                               As Long = &HE                'décimal
    Private Const LOCALE_SCURRENCY                              As Long = &H14               'monétaire
     
    Private Declare Function GetUserDefaultLCID Lib "kernel32" () As Long
    Private Declare Function GetLocaleInfo Lib "kernel32" Alias "GetLocaleInfoA" (ByVal Locale As Long, ByVal LCTYPE As Long, ByVal lpLCData As String, ByVal cchData As Long) As Long
    Private Declare Function SetLocaleInfo Lib "kernel32" Alias "SetLocaleInfoA" (ByVal Locale As Long, ByVal LCTYPE As Long, ByVal lpLCData As String) As Long
     
    Public Function GetDecimalSeparator(ByVal LocalTypeValue As Long, Optional ByRef SeparatorString As String) As String
    Dim lngBufferSize                                           As Long
    Dim lngLanguageID                                           As Long
    Dim strSeparator                                            As String
     
        lngLanguageID = GetUserDefaultLCID()
        lngBufferSize = GetLocaleInfo(lngLanguageID, LocalTypeValue, vbNullString, 0) - 1
        GetDecimalSeparator = Space$(lngBufferSize)
        GetLocaleInfo lngLanguageID, LocalTypeValue, strSeparator, lngBufferSize
        If Len(SeparatorString) = 1 Then
            SeparatorString = IIf(strSeparator = Chr(44), "Virgule", "Point")
            GetDecimalSeparator = strSeparator
        End If
    End Function
     
    Public Function SetDecimalSeparator(ByRef Separator As String, ByVal LocalTypeValue As Long)
    Dim lngLanguageID                                           As Long
     
        If Separator <> GetDecimalSeparator() Then
            If Separator = Chr(46) Or Separator = Chr(44) Then
                lngLanguageID = GetUserDefaultLCID()
                SetLocaleInfo lngLanguageID, LocalTypeValue, Separator
            End If
        End If
    End Function
    Par exemple, comme ceci au niveau de séparateur de décimales...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub DotSeparator()
    ''' Séparateur Point
        Call SetDecimalSeparator(".", LOCALE_SDECIMAL)
    End Sub
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Sub CommaSeparator()
    ''' Séparateur Virgule
        Call SetDecimalSeparator(",", LOCALE_SDECIMAL)
    End Sub
    Attention, il faut bien différencier Décimale et Monétaire...
    Peut-être te faudra t-il gérer les deux, mais tu as le code pour...

    Argy

Discussions similaires

  1. Structure de table pour supporter les paramètres régionaux
    Par Passepoil dans le forum Développement
    Réponses: 10
    Dernier message: 04/05/2011, 18h55
  2. [localisation] Forcer les paramètres régionaux d'un rapport
    Par bossun dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 18/09/2008, 09h10
  3. Réponses: 0
    Dernier message: 06/08/2008, 18h12
  4. code pour écrire dans un fichier excel
    Par guintolli dans le forum SharePoint
    Réponses: 3
    Dernier message: 22/07/2008, 10h30
  5. code pour modifier les paramètres ILO HP
    Par thierry007 dans le forum ASP.NET
    Réponses: 2
    Dernier message: 03/10/2007, 19h38

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