Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionOption Explicit 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 GetSystemDefaultLCID Lib "kernel32" () As Long Private Const LOCALE_SDECIMAL = &HE ' Symbole décimal Private Const LOCALE_STHOUSAND = &HF ' Séparateur des milliers Dim Separateur As String Private Sub Form_Load() Dim Lettre As String Dim Chiffre As Single Call GetUserLocaleInfo(Separateur) ' si pas trouvé --> arrêt programme ? If Separateur = " " Then MsgBox "Erreur", vbExclamation End End If '1er cas Lettre = "123.456" Chiffre = Replace(Lettre, ".", Separateur) MsgBox Chiffre '2eme cas Lettre = "123,456" Chiffre = Replace(Lettre, ".", Separateur) MsgBox Chiffre End Sub Private Sub GetUserLocaleInfo(Symbole As String) Dim sBuffer As String Dim nBufferLen As Long Dim LCID As Long LCID = GetSystemDefaultLCID nBufferLen = 255 sBuffer = String$(nBufferLen, vbNullChar) nBufferLen = GetLocaleInfo(LCID, LOCALE_SDECIMAL, sBuffer, nBufferLen) If nBufferLen > 0 Then Symbole = Left$(sBuffer, nBufferLen - 1) Else Symbole = " " End If End Sub