Bonjour,
changer les settings régionaux pour les mettrent en anglais (anglais). Cela
permet d'avoir les dates et nombre au bon format (12,345,789.12). Je me
demande si c'est possible car je trouve cette solution très simple.
Merci!
Bonjour,
changer les settings régionaux pour les mettrent en anglais (anglais). Cela
permet d'avoir les dates et nombre au bon format (12,345,789.12). Je me
demande si c'est possible car je trouve cette solution très simple.
Merci!
Bonjour,
changer les settings régionaux pour les mettrent en anglais (anglais). Cela
permet d'avoir les dates et nombre au bon format (12,345,789.12). Je me
demande si c'est possible car je trouve cette solution très simple.
Merci!
Il y a ceci :
'---------------------------------------------------------
'These declarations are designed
'for use in a .bas module
'since the constants are public
'Déclaration API dans le haut d'un module standard :
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
Declare Function SetLocaleInfo Lib "kernel32" Alias _
"SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, _
ByVal lpLCData As String) As Boolean
Declare Function GetUserDefaultLCID% Lib "kernel32" ()
Public Const LOCALE_ICENTURY = &H24
Public Const LOCALE_ICOUNTRY = &H5
Public Const LOCALE_ICURRDIGITS = &H19
Public Const LOCALE_ICURRENCY = &H1B
Public Const LOCALE_IDATE = &H21
Public Const LOCALE_IDAYLZERO = &H26
Public Const LOCALE_IDEFAULTCODEPAGE = &HB
Public Const LOCALE_IDEFAULTCOUNTRY = &HA
Public Const LOCALE_IDEFAULTLANGUAGE = &H9
Public Const LOCALE_IDIGITS = &H11
Public Const LOCALE_IINTLCURRDIGITS = &H1A
Public Const LOCALE_ILANGUAGE = &H1
Public Const LOCALE_ILDATE = &H22
Public Const LOCALE_ILZERO = &H12
Public Const LOCALE_IMEASURE = &HD
Public Const LOCALE_IMONLZERO = &H27
Public Const LOCALE_INEGCURR = &H1C
Public Const LOCALE_INEGSEPBYSPACE = &H57
Public Const LOCALE_INEGSIGNPOSN = &H53
Public Const LOCALE_INEGSYMPRECEDES = &H56
Public Const LOCALE_IPOSSEPBYSPACE = &H55
Public Const LOCALE_IPOSSIGNPOSN = &H52
Public Const LOCALE_IPOSSYMPRECEDES = &H54
Public Const LOCALE_ITIME = &H23
Public Const LOCALE_ITLZERO = &H25
Public Const LOCALE_NOUSEROVERRIDE = &H80000000
Public Const LOCALE_S1159 = &H28
Public Const LOCALE_S2359 = &H29
Public Const LOCALE_SABBREVCTRYNAME = &H7
Public Const LOCALE_SABBREVDAYNAME1 = &H31
Public Const LOCALE_SABBREVDAYNAME2 = &H32
Public Const LOCALE_SABBREVDAYNAME3 = &H33
Public Const LOCALE_SABBREVDAYNAME4 = &H34
Public Const LOCALE_SABBREVDAYNAME5 = &H35
Public Const LOCALE_SABBREVDAYNAME6 = &H36
Public Const LOCALE_SABBREVDAYNAME7 = &H37
Public Const LOCALE_SABBREVLANGNAME = &H3
Public Const LOCALE_SABBREVMONTHNAME1 = &H44
Public Const LOCALE_SCOUNTRY = &H6
Public Const LOCALE_SCURRENCY = &H14
Public Const LOCALE_SDATE = &H1D
Public Const LOCALE_SDAYNAME1 = &H2A
Public Const LOCALE_SDAYNAME2 = &H2B
Public Const LOCALE_SDAYNAME3 = &H2C
Public Const LOCALE_SDAYNAME4 = &H2D
Public Const LOCALE_SDAYNAME5 = &H2E
Public Const LOCALE_SDAYNAME6 = &H2F
Public Const LOCALE_SDAYNAME7 = &H30
Public Const LOCALE_SDECIMAL = &HE
Public Const LOCALE_SENGCOUNTRY = &H1002
Public Const LOCALE_SENGLANGUAGE = &H1001
Public Const LOCALE_SGROUPING = &H10
Public Const LOCALE_SINTLSYMBOL = &H15
Public Const LOCALE_SLANGUAGE = &H2
Public Const LOCALE_SLIST = &HC
Public Const LOCALE_SLONGDATE = &H20
Public Const LOCALE_SMONDECIMALSEP = &H16
Public Const LOCALE_SMONGROUPING = &H18
Public Const LOCALE_SMONTHNAME1 = &H38
Public Const LOCALE_SMONTHNAME10 = &H41
Public Const LOCALE_SMONTHNAME11 = &H42
Public Const LOCALE_SMONTHNAME12 = &H43
Public Const LOCALE_SMONTHNAME2 = &H39
Public Const LOCALE_SMONTHNAME3 = &H3A
Public Const LOCALE_SMONTHNAME4 = &H3B
Public Const LOCALE_SMONTHNAME5 = &H3C
Public Const LOCALE_SMONTHNAME6 = &H3D
Public Const LOCALE_SMONTHNAME7 = &H3E
Public Const LOCALE_SMONTHNAME8 = &H3F
Public Const LOCALE_SMONTHNAME9 = &H40
Public Const LOCALE_SMONTHOUSANDSEP = &H17
Public Const LOCALE_SNATIVECTRYNAME = &H8
Public Const LOCALE_SNATIVEDIGITS = &H13
Public Const LOCALE_SNATIVELANGNAME = &H4
Public Const LOCALE_SNEGATIVESIGN = &H51
Public Const LOCALE_SPOSITIVESIGN = &H50
Public Const LOCALE_SSHORTDATE = &H1F
Public Const LOCALE_STHOUSAND = &HF
Public Const LOCALE_STIME = &H1E
Public Const LOCALE_STIMEFORMAT = &H1003
Public Sub Get_locale() ' Retrieve the regional setting
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim Pos As Integer
Dim Locale As Long
Locale = GetUserDefaultLCID()
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale symbol being requested as a parameter
iRet1 = GetLocaleInfo(Locale, LOCALE_SDATE, _
lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(Locale, LOCALE_SDATE, Symbol, iRet1)
Pos = InStr(Symbol, Chr$(0))
If Pos > 0 Then
Symbol = Left$(Symbol, Pos - 1)
MsgBox "Regional Setting = " + Symbol
End If
End Sub
Public Sub Set_locale() 'Change the regional setting
Dim Symbol As String
Dim iRet As Long
Dim Locale As Long
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale information being set as a parameter
Locale = GetUserDefaultLCID() 'Get user Locale ID
Symbol = "/" 'New character for the locale
iRet = SetLocaleInfo(Locale, LOCALE_SDATE, Symbol)
End Sub
'----------------------------------------------------------------
"Alex St-Pierre" a écrit dans le message de news:
Bonjour,
J'ai un programme excel servant à produire un relevé Word. Le relevé peut
être généré dans 2 langues (français ou anglais). Si l'utiliser choisit
l'anglais et que ses settings régionaux sont en français, j'aimerais aller
changer les settings régionaux pour les mettrent en anglais (anglais). Cela
permet d'avoir les dates et nombre au bon format (12,345,789.12). Je me
demande si c'est possible car je trouve cette solution très simple.
Merci!
Alex
--
Alex St-Pierre
Il y a ceci :
'---------------------------------------------------------
'These declarations are designed
'for use in a .bas module
'since the constants are public
'Déclaration API dans le haut d'un module standard :
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
Declare Function SetLocaleInfo Lib "kernel32" Alias _
"SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, _
ByVal lpLCData As String) As Boolean
Declare Function GetUserDefaultLCID% Lib "kernel32" ()
Public Const LOCALE_ICENTURY = &H24
Public Const LOCALE_ICOUNTRY = &H5
Public Const LOCALE_ICURRDIGITS = &H19
Public Const LOCALE_ICURRENCY = &H1B
Public Const LOCALE_IDATE = &H21
Public Const LOCALE_IDAYLZERO = &H26
Public Const LOCALE_IDEFAULTCODEPAGE = &HB
Public Const LOCALE_IDEFAULTCOUNTRY = &HA
Public Const LOCALE_IDEFAULTLANGUAGE = &H9
Public Const LOCALE_IDIGITS = &H11
Public Const LOCALE_IINTLCURRDIGITS = &H1A
Public Const LOCALE_ILANGUAGE = &H1
Public Const LOCALE_ILDATE = &H22
Public Const LOCALE_ILZERO = &H12
Public Const LOCALE_IMEASURE = &HD
Public Const LOCALE_IMONLZERO = &H27
Public Const LOCALE_INEGCURR = &H1C
Public Const LOCALE_INEGSEPBYSPACE = &H57
Public Const LOCALE_INEGSIGNPOSN = &H53
Public Const LOCALE_INEGSYMPRECEDES = &H56
Public Const LOCALE_IPOSSEPBYSPACE = &H55
Public Const LOCALE_IPOSSIGNPOSN = &H52
Public Const LOCALE_IPOSSYMPRECEDES = &H54
Public Const LOCALE_ITIME = &H23
Public Const LOCALE_ITLZERO = &H25
Public Const LOCALE_NOUSEROVERRIDE = &H80000000
Public Const LOCALE_S1159 = &H28
Public Const LOCALE_S2359 = &H29
Public Const LOCALE_SABBREVCTRYNAME = &H7
Public Const LOCALE_SABBREVDAYNAME1 = &H31
Public Const LOCALE_SABBREVDAYNAME2 = &H32
Public Const LOCALE_SABBREVDAYNAME3 = &H33
Public Const LOCALE_SABBREVDAYNAME4 = &H34
Public Const LOCALE_SABBREVDAYNAME5 = &H35
Public Const LOCALE_SABBREVDAYNAME6 = &H36
Public Const LOCALE_SABBREVDAYNAME7 = &H37
Public Const LOCALE_SABBREVLANGNAME = &H3
Public Const LOCALE_SABBREVMONTHNAME1 = &H44
Public Const LOCALE_SCOUNTRY = &H6
Public Const LOCALE_SCURRENCY = &H14
Public Const LOCALE_SDATE = &H1D
Public Const LOCALE_SDAYNAME1 = &H2A
Public Const LOCALE_SDAYNAME2 = &H2B
Public Const LOCALE_SDAYNAME3 = &H2C
Public Const LOCALE_SDAYNAME4 = &H2D
Public Const LOCALE_SDAYNAME5 = &H2E
Public Const LOCALE_SDAYNAME6 = &H2F
Public Const LOCALE_SDAYNAME7 = &H30
Public Const LOCALE_SDECIMAL = &HE
Public Const LOCALE_SENGCOUNTRY = &H1002
Public Const LOCALE_SENGLANGUAGE = &H1001
Public Const LOCALE_SGROUPING = &H10
Public Const LOCALE_SINTLSYMBOL = &H15
Public Const LOCALE_SLANGUAGE = &H2
Public Const LOCALE_SLIST = &HC
Public Const LOCALE_SLONGDATE = &H20
Public Const LOCALE_SMONDECIMALSEP = &H16
Public Const LOCALE_SMONGROUPING = &H18
Public Const LOCALE_SMONTHNAME1 = &H38
Public Const LOCALE_SMONTHNAME10 = &H41
Public Const LOCALE_SMONTHNAME11 = &H42
Public Const LOCALE_SMONTHNAME12 = &H43
Public Const LOCALE_SMONTHNAME2 = &H39
Public Const LOCALE_SMONTHNAME3 = &H3A
Public Const LOCALE_SMONTHNAME4 = &H3B
Public Const LOCALE_SMONTHNAME5 = &H3C
Public Const LOCALE_SMONTHNAME6 = &H3D
Public Const LOCALE_SMONTHNAME7 = &H3E
Public Const LOCALE_SMONTHNAME8 = &H3F
Public Const LOCALE_SMONTHNAME9 = &H40
Public Const LOCALE_SMONTHOUSANDSEP = &H17
Public Const LOCALE_SNATIVECTRYNAME = &H8
Public Const LOCALE_SNATIVEDIGITS = &H13
Public Const LOCALE_SNATIVELANGNAME = &H4
Public Const LOCALE_SNEGATIVESIGN = &H51
Public Const LOCALE_SPOSITIVESIGN = &H50
Public Const LOCALE_SSHORTDATE = &H1F
Public Const LOCALE_STHOUSAND = &HF
Public Const LOCALE_STIME = &H1E
Public Const LOCALE_STIMEFORMAT = &H1003
Public Sub Get_locale() ' Retrieve the regional setting
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim Pos As Integer
Dim Locale As Long
Locale = GetUserDefaultLCID()
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale symbol being requested as a parameter
iRet1 = GetLocaleInfo(Locale, LOCALE_SDATE, _
lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(Locale, LOCALE_SDATE, Symbol, iRet1)
Pos = InStr(Symbol, Chr$(0))
If Pos > 0 Then
Symbol = Left$(Symbol, Pos - 1)
MsgBox "Regional Setting = " + Symbol
End If
End Sub
Public Sub Set_locale() 'Change the regional setting
Dim Symbol As String
Dim iRet As Long
Dim Locale As Long
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale information being set as a parameter
Locale = GetUserDefaultLCID() 'Get user Locale ID
Symbol = "/" 'New character for the locale
iRet = SetLocaleInfo(Locale, LOCALE_SDATE, Symbol)
End Sub
'----------------------------------------------------------------
"Alex St-Pierre" <AlexStPierre@discussions.microsoft.com> a écrit dans le message de news:
A6DC9AA0-AE97-431C-8D9C-C91A718DC9A7@microsoft.com...
Bonjour,
J'ai un programme excel servant à produire un relevé Word. Le relevé peut
être généré dans 2 langues (français ou anglais). Si l'utiliser choisit
l'anglais et que ses settings régionaux sont en français, j'aimerais aller
changer les settings régionaux pour les mettrent en anglais (anglais). Cela
permet d'avoir les dates et nombre au bon format (12,345,789.12). Je me
demande si c'est possible car je trouve cette solution très simple.
Merci!
Alex
--
Alex St-Pierre
Il y a ceci :
'---------------------------------------------------------
'These declarations are designed
'for use in a .bas module
'since the constants are public
'Déclaration API dans le haut d'un module standard :
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
Declare Function SetLocaleInfo Lib "kernel32" Alias _
"SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, _
ByVal lpLCData As String) As Boolean
Declare Function GetUserDefaultLCID% Lib "kernel32" ()
Public Const LOCALE_ICENTURY = &H24
Public Const LOCALE_ICOUNTRY = &H5
Public Const LOCALE_ICURRDIGITS = &H19
Public Const LOCALE_ICURRENCY = &H1B
Public Const LOCALE_IDATE = &H21
Public Const LOCALE_IDAYLZERO = &H26
Public Const LOCALE_IDEFAULTCODEPAGE = &HB
Public Const LOCALE_IDEFAULTCOUNTRY = &HA
Public Const LOCALE_IDEFAULTLANGUAGE = &H9
Public Const LOCALE_IDIGITS = &H11
Public Const LOCALE_IINTLCURRDIGITS = &H1A
Public Const LOCALE_ILANGUAGE = &H1
Public Const LOCALE_ILDATE = &H22
Public Const LOCALE_ILZERO = &H12
Public Const LOCALE_IMEASURE = &HD
Public Const LOCALE_IMONLZERO = &H27
Public Const LOCALE_INEGCURR = &H1C
Public Const LOCALE_INEGSEPBYSPACE = &H57
Public Const LOCALE_INEGSIGNPOSN = &H53
Public Const LOCALE_INEGSYMPRECEDES = &H56
Public Const LOCALE_IPOSSEPBYSPACE = &H55
Public Const LOCALE_IPOSSIGNPOSN = &H52
Public Const LOCALE_IPOSSYMPRECEDES = &H54
Public Const LOCALE_ITIME = &H23
Public Const LOCALE_ITLZERO = &H25
Public Const LOCALE_NOUSEROVERRIDE = &H80000000
Public Const LOCALE_S1159 = &H28
Public Const LOCALE_S2359 = &H29
Public Const LOCALE_SABBREVCTRYNAME = &H7
Public Const LOCALE_SABBREVDAYNAME1 = &H31
Public Const LOCALE_SABBREVDAYNAME2 = &H32
Public Const LOCALE_SABBREVDAYNAME3 = &H33
Public Const LOCALE_SABBREVDAYNAME4 = &H34
Public Const LOCALE_SABBREVDAYNAME5 = &H35
Public Const LOCALE_SABBREVDAYNAME6 = &H36
Public Const LOCALE_SABBREVDAYNAME7 = &H37
Public Const LOCALE_SABBREVLANGNAME = &H3
Public Const LOCALE_SABBREVMONTHNAME1 = &H44
Public Const LOCALE_SCOUNTRY = &H6
Public Const LOCALE_SCURRENCY = &H14
Public Const LOCALE_SDATE = &H1D
Public Const LOCALE_SDAYNAME1 = &H2A
Public Const LOCALE_SDAYNAME2 = &H2B
Public Const LOCALE_SDAYNAME3 = &H2C
Public Const LOCALE_SDAYNAME4 = &H2D
Public Const LOCALE_SDAYNAME5 = &H2E
Public Const LOCALE_SDAYNAME6 = &H2F
Public Const LOCALE_SDAYNAME7 = &H30
Public Const LOCALE_SDECIMAL = &HE
Public Const LOCALE_SENGCOUNTRY = &H1002
Public Const LOCALE_SENGLANGUAGE = &H1001
Public Const LOCALE_SGROUPING = &H10
Public Const LOCALE_SINTLSYMBOL = &H15
Public Const LOCALE_SLANGUAGE = &H2
Public Const LOCALE_SLIST = &HC
Public Const LOCALE_SLONGDATE = &H20
Public Const LOCALE_SMONDECIMALSEP = &H16
Public Const LOCALE_SMONGROUPING = &H18
Public Const LOCALE_SMONTHNAME1 = &H38
Public Const LOCALE_SMONTHNAME10 = &H41
Public Const LOCALE_SMONTHNAME11 = &H42
Public Const LOCALE_SMONTHNAME12 = &H43
Public Const LOCALE_SMONTHNAME2 = &H39
Public Const LOCALE_SMONTHNAME3 = &H3A
Public Const LOCALE_SMONTHNAME4 = &H3B
Public Const LOCALE_SMONTHNAME5 = &H3C
Public Const LOCALE_SMONTHNAME6 = &H3D
Public Const LOCALE_SMONTHNAME7 = &H3E
Public Const LOCALE_SMONTHNAME8 = &H3F
Public Const LOCALE_SMONTHNAME9 = &H40
Public Const LOCALE_SMONTHOUSANDSEP = &H17
Public Const LOCALE_SNATIVECTRYNAME = &H8
Public Const LOCALE_SNATIVEDIGITS = &H13
Public Const LOCALE_SNATIVELANGNAME = &H4
Public Const LOCALE_SNEGATIVESIGN = &H51
Public Const LOCALE_SPOSITIVESIGN = &H50
Public Const LOCALE_SSHORTDATE = &H1F
Public Const LOCALE_STHOUSAND = &HF
Public Const LOCALE_STIME = &H1E
Public Const LOCALE_STIMEFORMAT = &H1003
Public Sub Get_locale() ' Retrieve the regional setting
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim Pos As Integer
Dim Locale As Long
Locale = GetUserDefaultLCID()
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale symbol being requested as a parameter
iRet1 = GetLocaleInfo(Locale, LOCALE_SDATE, _
lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(Locale, LOCALE_SDATE, Symbol, iRet1)
Pos = InStr(Symbol, Chr$(0))
If Pos > 0 Then
Symbol = Left$(Symbol, Pos - 1)
MsgBox "Regional Setting = " + Symbol
End If
End Sub
Public Sub Set_locale() 'Change the regional setting
Dim Symbol As String
Dim iRet As Long
Dim Locale As Long
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale information being set as a parameter
Locale = GetUserDefaultLCID() 'Get user Locale ID
Symbol = "/" 'New character for the locale
iRet = SetLocaleInfo(Locale, LOCALE_SDATE, Symbol)
End Sub
'----------------------------------------------------------------
"Alex St-Pierre" a écrit dans le message de news:
Bonjour,
J'ai un programme excel servant à produire un relevé Word. Le relevé peut
être généré dans 2 langues (français ou anglais). Si l'utiliser choisit
l'anglais et que ses settings régionaux sont en français, j'aimerais aller
changer les settings régionaux pour les mettrent en anglais (anglais). Cela
permet d'avoir les dates et nombre au bon format (12,345,789.12). Je me
demande si c'est possible car je trouve cette solution très simple.
Merci!
Alex
--
Alex St-Pierre
Il y a ceci :
'---------------------------------------------------------
'These declarations are designed
'for use in a .bas module
'since the constants are public
'Déclaration API dans le haut d'un module standard :
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
Declare Function SetLocaleInfo Lib "kernel32" Alias _
"SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, _
ByVal lpLCData As String) As Boolean
Declare Function GetUserDefaultLCID% Lib "kernel32" ()
Public Const LOCALE_ICENTURY = &H24
Public Const LOCALE_ICOUNTRY = &H5
Public Const LOCALE_ICURRDIGITS = &H19
Public Const LOCALE_ICURRENCY = &H1B
Public Const LOCALE_IDATE = &H21
Public Const LOCALE_IDAYLZERO = &H26
Public Const LOCALE_IDEFAULTCODEPAGE = &HB
Public Const LOCALE_IDEFAULTCOUNTRY = &HA
Public Const LOCALE_IDEFAULTLANGUAGE = &H9
Public Const LOCALE_IDIGITS = &H11
Public Const LOCALE_IINTLCURRDIGITS = &H1A
Public Const LOCALE_ILANGUAGE = &H1
Public Const LOCALE_ILDATE = &H22
Public Const LOCALE_ILZERO = &H12
Public Const LOCALE_IMEASURE = &HD
Public Const LOCALE_IMONLZERO = &H27
Public Const LOCALE_INEGCURR = &H1C
Public Const LOCALE_INEGSEPBYSPACE = &H57
Public Const LOCALE_INEGSIGNPOSN = &H53
Public Const LOCALE_INEGSYMPRECEDES = &H56
Public Const LOCALE_IPOSSEPBYSPACE = &H55
Public Const LOCALE_IPOSSIGNPOSN = &H52
Public Const LOCALE_IPOSSYMPRECEDES = &H54
Public Const LOCALE_ITIME = &H23
Public Const LOCALE_ITLZERO = &H25
Public Const LOCALE_NOUSEROVERRIDE = &H80000000
Public Const LOCALE_S1159 = &H28
Public Const LOCALE_S2359 = &H29
Public Const LOCALE_SABBREVCTRYNAME = &H7
Public Const LOCALE_SABBREVDAYNAME1 = &H31
Public Const LOCALE_SABBREVDAYNAME2 = &H32
Public Const LOCALE_SABBREVDAYNAME3 = &H33
Public Const LOCALE_SABBREVDAYNAME4 = &H34
Public Const LOCALE_SABBREVDAYNAME5 = &H35
Public Const LOCALE_SABBREVDAYNAME6 = &H36
Public Const LOCALE_SABBREVDAYNAME7 = &H37
Public Const LOCALE_SABBREVLANGNAME = &H3
Public Const LOCALE_SABBREVMONTHNAME1 = &H44
Public Const LOCALE_SCOUNTRY = &H6
Public Const LOCALE_SCURRENCY = &H14
Public Const LOCALE_SDATE = &H1D
Public Const LOCALE_SDAYNAME1 = &H2A
Public Const LOCALE_SDAYNAME2 = &H2B
Public Const LOCALE_SDAYNAME3 = &H2C
Public Const LOCALE_SDAYNAME4 = &H2D
Public Const LOCALE_SDAYNAME5 = &H2E
Public Const LOCALE_SDAYNAME6 = &H2F
Public Const LOCALE_SDAYNAME7 = &H30
Public Const LOCALE_SDECIMAL = &HE
Public Const LOCALE_SENGCOUNTRY = &H1002
Public Const LOCALE_SENGLANGUAGE = &H1001
Public Const LOCALE_SGROUPING = &H10
Public Const LOCALE_SINTLSYMBOL = &H15
Public Const LOCALE_SLANGUAGE = &H2
Public Const LOCALE_SLIST = &HC
Public Const LOCALE_SLONGDATE = &H20
Public Const LOCALE_SMONDECIMALSEP = &H16
Public Const LOCALE_SMONGROUPING = &H18
Public Const LOCALE_SMONTHNAME1 = &H38
Public Const LOCALE_SMONTHNAME10 = &H41
Public Const LOCALE_SMONTHNAME11 = &H42
Public Const LOCALE_SMONTHNAME12 = &H43
Public Const LOCALE_SMONTHNAME2 = &H39
Public Const LOCALE_SMONTHNAME3 = &H3A
Public Const LOCALE_SMONTHNAME4 = &H3B
Public Const LOCALE_SMONTHNAME5 = &H3C
Public Const LOCALE_SMONTHNAME6 = &H3D
Public Const LOCALE_SMONTHNAME7 = &H3E
Public Const LOCALE_SMONTHNAME8 = &H3F
Public Const LOCALE_SMONTHNAME9 = &H40
Public Const LOCALE_SMONTHOUSANDSEP = &H17
Public Const LOCALE_SNATIVECTRYNAME = &H8
Public Const LOCALE_SNATIVEDIGITS = &H13
Public Const LOCALE_SNATIVELANGNAME = &H4
Public Const LOCALE_SNEGATIVESIGN = &H51
Public Const LOCALE_SPOSITIVESIGN = &H50
Public Const LOCALE_SSHORTDATE = &H1F
Public Const LOCALE_STHOUSAND = &HF
Public Const LOCALE_STIME = &H1E
Public Const LOCALE_STIMEFORMAT = &H1003
Public Sub Get_locale() ' Retrieve the regional setting
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim Pos As Integer
Dim Locale As Long
Locale = GetUserDefaultLCID()
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale symbol being requested as a parameter
iRet1 = GetLocaleInfo(Locale, LOCALE_SDATE, _
lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(Locale, LOCALE_SDATE, Symbol, iRet1)
Pos = InStr(Symbol, Chr$(0))
If Pos > 0 Then
Symbol = Left$(Symbol, Pos - 1)
MsgBox "Regional Setting = " + Symbol
End If
End Sub
Public Sub Set_locale() 'Change the regional setting
Dim Symbol As String
Dim iRet As Long
Dim Locale As Long
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale information being set as a parameter
Locale = GetUserDefaultLCID() 'Get user Locale ID
Symbol = "/" 'New character for the locale
iRet = SetLocaleInfo(Locale, LOCALE_SDATE, Symbol)
End Sub
'----------------------------------------------------------------
"Alex St-Pierre" a écrit dans le message de news:
Bonjour,
J'ai un programme excel servant à produire un relevé Word. Le relevé peut
être généré dans 2 langues (français ou anglais). Si l'utiliser choisit
l'anglais et que ses settings régionaux sont en français, j'aimerais aller
changer les settings régionaux pour les mettrent en anglais (anglais). Cela
permet d'avoir les dates et nombre au bon format (12,345,789.12). Je me
demande si c'est possible car je trouve cette solution très simple.
Merci!
Alex
--
Alex St-Pierre
Il y a ceci :
'---------------------------------------------------------
'These declarations are designed
'for use in a .bas module
'since the constants are public
'Déclaration API dans le haut d'un module standard :
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
Declare Function SetLocaleInfo Lib "kernel32" Alias _
"SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, _
ByVal lpLCData As String) As Boolean
Declare Function GetUserDefaultLCID% Lib "kernel32" ()
Public Const LOCALE_ICENTURY = &H24
Public Const LOCALE_ICOUNTRY = &H5
Public Const LOCALE_ICURRDIGITS = &H19
Public Const LOCALE_ICURRENCY = &H1B
Public Const LOCALE_IDATE = &H21
Public Const LOCALE_IDAYLZERO = &H26
Public Const LOCALE_IDEFAULTCODEPAGE = &HB
Public Const LOCALE_IDEFAULTCOUNTRY = &HA
Public Const LOCALE_IDEFAULTLANGUAGE = &H9
Public Const LOCALE_IDIGITS = &H11
Public Const LOCALE_IINTLCURRDIGITS = &H1A
Public Const LOCALE_ILANGUAGE = &H1
Public Const LOCALE_ILDATE = &H22
Public Const LOCALE_ILZERO = &H12
Public Const LOCALE_IMEASURE = &HD
Public Const LOCALE_IMONLZERO = &H27
Public Const LOCALE_INEGCURR = &H1C
Public Const LOCALE_INEGSEPBYSPACE = &H57
Public Const LOCALE_INEGSIGNPOSN = &H53
Public Const LOCALE_INEGSYMPRECEDES = &H56
Public Const LOCALE_IPOSSEPBYSPACE = &H55
Public Const LOCALE_IPOSSIGNPOSN = &H52
Public Const LOCALE_IPOSSYMPRECEDES = &H54
Public Const LOCALE_ITIME = &H23
Public Const LOCALE_ITLZERO = &H25
Public Const LOCALE_NOUSEROVERRIDE = &H80000000
Public Const LOCALE_S1159 = &H28
Public Const LOCALE_S2359 = &H29
Public Const LOCALE_SABBREVCTRYNAME = &H7
Public Const LOCALE_SABBREVDAYNAME1 = &H31
Public Const LOCALE_SABBREVDAYNAME2 = &H32
Public Const LOCALE_SABBREVDAYNAME3 = &H33
Public Const LOCALE_SABBREVDAYNAME4 = &H34
Public Const LOCALE_SABBREVDAYNAME5 = &H35
Public Const LOCALE_SABBREVDAYNAME6 = &H36
Public Const LOCALE_SABBREVDAYNAME7 = &H37
Public Const LOCALE_SABBREVLANGNAME = &H3
Public Const LOCALE_SABBREVMONTHNAME1 = &H44
Public Const LOCALE_SCOUNTRY = &H6
Public Const LOCALE_SCURRENCY = &H14
Public Const LOCALE_SDATE = &H1D
Public Const LOCALE_SDAYNAME1 = &H2A
Public Const LOCALE_SDAYNAME2 = &H2B
Public Const LOCALE_SDAYNAME3 = &H2C
Public Const LOCALE_SDAYNAME4 = &H2D
Public Const LOCALE_SDAYNAME5 = &H2E
Public Const LOCALE_SDAYNAME6 = &H2F
Public Const LOCALE_SDAYNAME7 = &H30
Public Const LOCALE_SDECIMAL = &HE
Public Const LOCALE_SENGCOUNTRY = &H1002
Public Const LOCALE_SENGLANGUAGE = &H1001
Public Const LOCALE_SGROUPING = &H10
Public Const LOCALE_SINTLSYMBOL = &H15
Public Const LOCALE_SLANGUAGE = &H2
Public Const LOCALE_SLIST = &HC
Public Const LOCALE_SLONGDATE = &H20
Public Const LOCALE_SMONDECIMALSEP = &H16
Public Const LOCALE_SMONGROUPING = &H18
Public Const LOCALE_SMONTHNAME1 = &H38
Public Const LOCALE_SMONTHNAME10 = &H41
Public Const LOCALE_SMONTHNAME11 = &H42
Public Const LOCALE_SMONTHNAME12 = &H43
Public Const LOCALE_SMONTHNAME2 = &H39
Public Const LOCALE_SMONTHNAME3 = &H3A
Public Const LOCALE_SMONTHNAME4 = &H3B
Public Const LOCALE_SMONTHNAME5 = &H3C
Public Const LOCALE_SMONTHNAME6 = &H3D
Public Const LOCALE_SMONTHNAME7 = &H3E
Public Const LOCALE_SMONTHNAME8 = &H3F
Public Const LOCALE_SMONTHNAME9 = &H40
Public Const LOCALE_SMONTHOUSANDSEP = &H17
Public Const LOCALE_SNATIVECTRYNAME = &H8
Public Const LOCALE_SNATIVEDIGITS = &H13
Public Const LOCALE_SNATIVELANGNAME = &H4
Public Const LOCALE_SNEGATIVESIGN = &H51
Public Const LOCALE_SPOSITIVESIGN = &H50
Public Const LOCALE_SSHORTDATE = &H1F
Public Const LOCALE_STHOUSAND = &HF
Public Const LOCALE_STIME = &H1E
Public Const LOCALE_STIMEFORMAT = &H1003
Public Sub Get_locale() ' Retrieve the regional setting
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim Pos As Integer
Dim Locale As Long
Locale = GetUserDefaultLCID()
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale symbol being requested as a parameter
iRet1 = GetLocaleInfo(Locale, LOCALE_SDATE, _
lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(Locale, LOCALE_SDATE, Symbol, iRet1)
Pos = InStr(Symbol, Chr$(0))
If Pos > 0 Then
Symbol = Left$(Symbol, Pos - 1)
MsgBox "Regional Setting = " + Symbol
End If
End Sub
Public Sub Set_locale() 'Change the regional setting
Dim Symbol As String
Dim iRet As Long
Dim Locale As Long
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale information being set as a parameter
Locale = GetUserDefaultLCID() 'Get user Locale ID
Symbol = "/" 'New character for the locale
iRet = SetLocaleInfo(Locale, LOCALE_SDATE, Symbol)
End Sub
'----------------------------------------------------------------
"Alex St-Pierre" <AlexStPierre@discussions.microsoft.com> a écrit dans le message de news:
A6DC9AA0-AE97-431C-8D9C-C91A718DC9A7@microsoft.com...
Bonjour,
J'ai un programme excel servant à produire un relevé Word. Le relevé peut
être généré dans 2 langues (français ou anglais). Si l'utiliser choisit
l'anglais et que ses settings régionaux sont en français, j'aimerais aller
changer les settings régionaux pour les mettrent en anglais (anglais). Cela
permet d'avoir les dates et nombre au bon format (12,345,789.12). Je me
demande si c'est possible car je trouve cette solution très simple.
Merci!
Alex
--
Alex St-Pierre
Il y a ceci :
'---------------------------------------------------------
'These declarations are designed
'for use in a .bas module
'since the constants are public
'Déclaration API dans le haut d'un module standard :
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
Declare Function SetLocaleInfo Lib "kernel32" Alias _
"SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, _
ByVal lpLCData As String) As Boolean
Declare Function GetUserDefaultLCID% Lib "kernel32" ()
Public Const LOCALE_ICENTURY = &H24
Public Const LOCALE_ICOUNTRY = &H5
Public Const LOCALE_ICURRDIGITS = &H19
Public Const LOCALE_ICURRENCY = &H1B
Public Const LOCALE_IDATE = &H21
Public Const LOCALE_IDAYLZERO = &H26
Public Const LOCALE_IDEFAULTCODEPAGE = &HB
Public Const LOCALE_IDEFAULTCOUNTRY = &HA
Public Const LOCALE_IDEFAULTLANGUAGE = &H9
Public Const LOCALE_IDIGITS = &H11
Public Const LOCALE_IINTLCURRDIGITS = &H1A
Public Const LOCALE_ILANGUAGE = &H1
Public Const LOCALE_ILDATE = &H22
Public Const LOCALE_ILZERO = &H12
Public Const LOCALE_IMEASURE = &HD
Public Const LOCALE_IMONLZERO = &H27
Public Const LOCALE_INEGCURR = &H1C
Public Const LOCALE_INEGSEPBYSPACE = &H57
Public Const LOCALE_INEGSIGNPOSN = &H53
Public Const LOCALE_INEGSYMPRECEDES = &H56
Public Const LOCALE_IPOSSEPBYSPACE = &H55
Public Const LOCALE_IPOSSIGNPOSN = &H52
Public Const LOCALE_IPOSSYMPRECEDES = &H54
Public Const LOCALE_ITIME = &H23
Public Const LOCALE_ITLZERO = &H25
Public Const LOCALE_NOUSEROVERRIDE = &H80000000
Public Const LOCALE_S1159 = &H28
Public Const LOCALE_S2359 = &H29
Public Const LOCALE_SABBREVCTRYNAME = &H7
Public Const LOCALE_SABBREVDAYNAME1 = &H31
Public Const LOCALE_SABBREVDAYNAME2 = &H32
Public Const LOCALE_SABBREVDAYNAME3 = &H33
Public Const LOCALE_SABBREVDAYNAME4 = &H34
Public Const LOCALE_SABBREVDAYNAME5 = &H35
Public Const LOCALE_SABBREVDAYNAME6 = &H36
Public Const LOCALE_SABBREVDAYNAME7 = &H37
Public Const LOCALE_SABBREVLANGNAME = &H3
Public Const LOCALE_SABBREVMONTHNAME1 = &H44
Public Const LOCALE_SCOUNTRY = &H6
Public Const LOCALE_SCURRENCY = &H14
Public Const LOCALE_SDATE = &H1D
Public Const LOCALE_SDAYNAME1 = &H2A
Public Const LOCALE_SDAYNAME2 = &H2B
Public Const LOCALE_SDAYNAME3 = &H2C
Public Const LOCALE_SDAYNAME4 = &H2D
Public Const LOCALE_SDAYNAME5 = &H2E
Public Const LOCALE_SDAYNAME6 = &H2F
Public Const LOCALE_SDAYNAME7 = &H30
Public Const LOCALE_SDECIMAL = &HE
Public Const LOCALE_SENGCOUNTRY = &H1002
Public Const LOCALE_SENGLANGUAGE = &H1001
Public Const LOCALE_SGROUPING = &H10
Public Const LOCALE_SINTLSYMBOL = &H15
Public Const LOCALE_SLANGUAGE = &H2
Public Const LOCALE_SLIST = &HC
Public Const LOCALE_SLONGDATE = &H20
Public Const LOCALE_SMONDECIMALSEP = &H16
Public Const LOCALE_SMONGROUPING = &H18
Public Const LOCALE_SMONTHNAME1 = &H38
Public Const LOCALE_SMONTHNAME10 = &H41
Public Const LOCALE_SMONTHNAME11 = &H42
Public Const LOCALE_SMONTHNAME12 = &H43
Public Const LOCALE_SMONTHNAME2 = &H39
Public Const LOCALE_SMONTHNAME3 = &H3A
Public Const LOCALE_SMONTHNAME4 = &H3B
Public Const LOCALE_SMONTHNAME5 = &H3C
Public Const LOCALE_SMONTHNAME6 = &H3D
Public Const LOCALE_SMONTHNAME7 = &H3E
Public Const LOCALE_SMONTHNAME8 = &H3F
Public Const LOCALE_SMONTHNAME9 = &H40
Public Const LOCALE_SMONTHOUSANDSEP = &H17
Public Const LOCALE_SNATIVECTRYNAME = &H8
Public Const LOCALE_SNATIVEDIGITS = &H13
Public Const LOCALE_SNATIVELANGNAME = &H4
Public Const LOCALE_SNEGATIVESIGN = &H51
Public Const LOCALE_SPOSITIVESIGN = &H50
Public Const LOCALE_SSHORTDATE = &H1F
Public Const LOCALE_STHOUSAND = &HF
Public Const LOCALE_STIME = &H1E
Public Const LOCALE_STIMEFORMAT = &H1003
Public Sub Get_locale() ' Retrieve the regional setting
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim Pos As Integer
Dim Locale As Long
Locale = GetUserDefaultLCID()
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale symbol being requested as a parameter
iRet1 = GetLocaleInfo(Locale, LOCALE_SDATE, _
lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(Locale, LOCALE_SDATE, Symbol, iRet1)
Pos = InStr(Symbol, Chr$(0))
If Pos > 0 Then
Symbol = Left$(Symbol, Pos - 1)
MsgBox "Regional Setting = " + Symbol
End If
End Sub
Public Sub Set_locale() 'Change the regional setting
Dim Symbol As String
Dim iRet As Long
Dim Locale As Long
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale information being set as a parameter
Locale = GetUserDefaultLCID() 'Get user Locale ID
Symbol = "/" 'New character for the locale
iRet = SetLocaleInfo(Locale, LOCALE_SDATE, Symbol)
End Sub
'----------------------------------------------------------------
"Alex St-Pierre" a écrit dans le message de news:
Bonjour,
J'ai un programme excel servant à produire un relevé Word. Le relevé peut
être généré dans 2 langues (français ou anglais). Si l'utiliser choisit
l'anglais et que ses settings régionaux sont en français, j'aimerais aller
changer les settings régionaux pour les mettrent en anglais (anglais). Cela
permet d'avoir les dates et nombre au bon format (12,345,789.12). Je me
demande si c'est possible car je trouve cette solution très simple.
Merci!
Alex
--
Alex St-Pierre
A ) Je n'ai pas l'intention de tester chacun des éléments du panneau de configuration !
Dans le cas de l'item "langue"... pour obtenir la langue désirée, je suppose que tu
devras modifier ces 3 items : (je n'ai pas testé...)
Public Const LOCALE_IDEFAULTCODEPAGE = &HB
Public Const LOCALE_IDEFAULTCOUNTRY = &HA
Public Const LOCALE_IDEFAULTLANGUAGE = &H9
Pour les code "page" et "country", va voir là :
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/country.mspx?mfr=true
"Alex St-Pierre" a écrit dans le message de news:
Bonjour!
J'ai essayé le programme Set_locale mais cela ne semble pas fonctionner. Si
je met le Symbol = "English" dans le programme suivant, ça ne fonctionne pas.
Je me demande comment je faire varier dans "Panneau config/Options
régionales/onglet:"Options régionales"/"Standards et formats" de
A)Français(Canada) à B) Anglais(Canada). Les settings peuvent s'appliquer à
l'ensemble de windows puisque Word doit utiliser les mêmes formats qu'Excel.
Public Sub Set_locale() 'Change the regional setting
Dim Symbol As String
Dim iRet As Long
Dim Locale As Long
Locale = GetUserDefaultLCID() 'Get user Locale ID
Symbol = "English"
iRet = SetLocaleInfo(Locale, LOCALE_SENGLANGUAGE, Symbol)
End Sub
Pour ce qui est du chef à quatre plumes, son programme fonctionne bien mais
il ne donne pas ses clés! Enfin, comme le programme sur lequel je travail va
être utilisé par bcp de personnes (50 et plus), je pense que le fait qu'il
n'y ait qu'un seul fichier excel et que l'utilisateur n'ait pas à manipuler
les settings est un gros avantage.
Merci!
Alex
--
Alex St-Pierre
"MichDenis" wrote:Il y a ceci :
'---------------------------------------------------------
'These declarations are designed
'for use in a .bas module
'since the constants are public
'Déclaration API dans le haut d'un module standard :
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
Declare Function SetLocaleInfo Lib "kernel32" Alias _
"SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, _
ByVal lpLCData As String) As Boolean
Declare Function GetUserDefaultLCID% Lib "kernel32" ()
Public Const LOCALE_ICENTURY = &H24
Public Const LOCALE_ICOUNTRY = &H5
Public Const LOCALE_ICURRDIGITS = &H19
Public Const LOCALE_ICURRENCY = &H1B
Public Const LOCALE_IDATE = &H21
Public Const LOCALE_IDAYLZERO = &H26
Public Const LOCALE_IDEFAULTCODEPAGE = &HB
Public Const LOCALE_IDEFAULTCOUNTRY = &HA
Public Const LOCALE_IDEFAULTLANGUAGE = &H9
Public Const LOCALE_IDIGITS = &H11
Public Const LOCALE_IINTLCURRDIGITS = &H1A
Public Const LOCALE_ILANGUAGE = &H1
Public Const LOCALE_ILDATE = &H22
Public Const LOCALE_ILZERO = &H12
Public Const LOCALE_IMEASURE = &HD
Public Const LOCALE_IMONLZERO = &H27
Public Const LOCALE_INEGCURR = &H1C
Public Const LOCALE_INEGSEPBYSPACE = &H57
Public Const LOCALE_INEGSIGNPOSN = &H53
Public Const LOCALE_INEGSYMPRECEDES = &H56
Public Const LOCALE_IPOSSEPBYSPACE = &H55
Public Const LOCALE_IPOSSIGNPOSN = &H52
Public Const LOCALE_IPOSSYMPRECEDES = &H54
Public Const LOCALE_ITIME = &H23
Public Const LOCALE_ITLZERO = &H25
Public Const LOCALE_NOUSEROVERRIDE = &H80000000
Public Const LOCALE_S1159 = &H28
Public Const LOCALE_S2359 = &H29
Public Const LOCALE_SABBREVCTRYNAME = &H7
Public Const LOCALE_SABBREVDAYNAME1 = &H31
Public Const LOCALE_SABBREVDAYNAME2 = &H32
Public Const LOCALE_SABBREVDAYNAME3 = &H33
Public Const LOCALE_SABBREVDAYNAME4 = &H34
Public Const LOCALE_SABBREVDAYNAME5 = &H35
Public Const LOCALE_SABBREVDAYNAME6 = &H36
Public Const LOCALE_SABBREVDAYNAME7 = &H37
Public Const LOCALE_SABBREVLANGNAME = &H3
Public Const LOCALE_SABBREVMONTHNAME1 = &H44
Public Const LOCALE_SCOUNTRY = &H6
Public Const LOCALE_SCURRENCY = &H14
Public Const LOCALE_SDATE = &H1D
Public Const LOCALE_SDAYNAME1 = &H2A
Public Const LOCALE_SDAYNAME2 = &H2B
Public Const LOCALE_SDAYNAME3 = &H2C
Public Const LOCALE_SDAYNAME4 = &H2D
Public Const LOCALE_SDAYNAME5 = &H2E
Public Const LOCALE_SDAYNAME6 = &H2F
Public Const LOCALE_SDAYNAME7 = &H30
Public Const LOCALE_SDECIMAL = &HE
Public Const LOCALE_SENGCOUNTRY = &H1002
Public Const LOCALE_SENGLANGUAGE = &H1001
Public Const LOCALE_SGROUPING = &H10
Public Const LOCALE_SINTLSYMBOL = &H15
Public Const LOCALE_SLANGUAGE = &H2
Public Const LOCALE_SLIST = &HC
Public Const LOCALE_SLONGDATE = &H20
Public Const LOCALE_SMONDECIMALSEP = &H16
Public Const LOCALE_SMONGROUPING = &H18
Public Const LOCALE_SMONTHNAME1 = &H38
Public Const LOCALE_SMONTHNAME10 = &H41
Public Const LOCALE_SMONTHNAME11 = &H42
Public Const LOCALE_SMONTHNAME12 = &H43
Public Const LOCALE_SMONTHNAME2 = &H39
Public Const LOCALE_SMONTHNAME3 = &H3A
Public Const LOCALE_SMONTHNAME4 = &H3B
Public Const LOCALE_SMONTHNAME5 = &H3C
Public Const LOCALE_SMONTHNAME6 = &H3D
Public Const LOCALE_SMONTHNAME7 = &H3E
Public Const LOCALE_SMONTHNAME8 = &H3F
Public Const LOCALE_SMONTHNAME9 = &H40
Public Const LOCALE_SMONTHOUSANDSEP = &H17
Public Const LOCALE_SNATIVECTRYNAME = &H8
Public Const LOCALE_SNATIVEDIGITS = &H13
Public Const LOCALE_SNATIVELANGNAME = &H4
Public Const LOCALE_SNEGATIVESIGN = &H51
Public Const LOCALE_SPOSITIVESIGN = &H50
Public Const LOCALE_SSHORTDATE = &H1F
Public Const LOCALE_STHOUSAND = &HF
Public Const LOCALE_STIME = &H1E
Public Const LOCALE_STIMEFORMAT = &H1003
Public Sub Get_locale() ' Retrieve the regional setting
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim Pos As Integer
Dim Locale As Long
Locale = GetUserDefaultLCID()
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale symbol being requested as a parameter
iRet1 = GetLocaleInfo(Locale, LOCALE_SDATE, _
lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(Locale, LOCALE_SDATE, Symbol, iRet1)
Pos = InStr(Symbol, Chr$(0))
If Pos > 0 Then
Symbol = Left$(Symbol, Pos - 1)
MsgBox "Regional Setting = " + Symbol
End If
End Sub
Public Sub Set_locale() 'Change the regional setting
Dim Symbol As String
Dim iRet As Long
Dim Locale As Long
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale information being set as a parameter
Locale = GetUserDefaultLCID() 'Get user Locale ID
Symbol = "/" 'New character for the locale
iRet = SetLocaleInfo(Locale, LOCALE_SDATE, Symbol)
End Sub
'----------------------------------------------------------------
"Alex St-Pierre" a écrit dans le message de news:
Bonjour,
J'ai un programme excel servant à produire un relevé Word. Le relevé peut
être généré dans 2 langues (français ou anglais). Si l'utiliser choisit
l'anglais et que ses settings régionaux sont en français, j'aimerais aller
changer les settings régionaux pour les mettrent en anglais (anglais). Cela
permet d'avoir les dates et nombre au bon format (12,345,789.12). Je me
demande si c'est possible car je trouve cette solution très simple.
Merci!
Alex
--
Alex St-Pierre
A ) Je n'ai pas l'intention de tester chacun des éléments du panneau de configuration !
Dans le cas de l'item "langue"... pour obtenir la langue désirée, je suppose que tu
devras modifier ces 3 items : (je n'ai pas testé...)
Public Const LOCALE_IDEFAULTCODEPAGE = &HB
Public Const LOCALE_IDEFAULTCOUNTRY = &HA
Public Const LOCALE_IDEFAULTLANGUAGE = &H9
Pour les code "page" et "country", va voir là :
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/country.mspx?mfr=true
"Alex St-Pierre" <AlexStPierre@discussions.microsoft.com> a écrit dans le message de news:
DF3AE7E4-B268-42A9-8E52-585F76824619@microsoft.com...
Bonjour!
J'ai essayé le programme Set_locale mais cela ne semble pas fonctionner. Si
je met le Symbol = "English" dans le programme suivant, ça ne fonctionne pas.
Je me demande comment je faire varier dans "Panneau config/Options
régionales/onglet:"Options régionales"/"Standards et formats" de
A)Français(Canada) à B) Anglais(Canada). Les settings peuvent s'appliquer à
l'ensemble de windows puisque Word doit utiliser les mêmes formats qu'Excel.
Public Sub Set_locale() 'Change the regional setting
Dim Symbol As String
Dim iRet As Long
Dim Locale As Long
Locale = GetUserDefaultLCID() 'Get user Locale ID
Symbol = "English"
iRet = SetLocaleInfo(Locale, LOCALE_SENGLANGUAGE, Symbol)
End Sub
Pour ce qui est du chef à quatre plumes, son programme fonctionne bien mais
il ne donne pas ses clés! Enfin, comme le programme sur lequel je travail va
être utilisé par bcp de personnes (50 et plus), je pense que le fait qu'il
n'y ait qu'un seul fichier excel et que l'utilisateur n'ait pas à manipuler
les settings est un gros avantage.
Merci!
Alex
--
Alex St-Pierre
"MichDenis" wrote:
Il y a ceci :
'---------------------------------------------------------
'These declarations are designed
'for use in a .bas module
'since the constants are public
'Déclaration API dans le haut d'un module standard :
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
Declare Function SetLocaleInfo Lib "kernel32" Alias _
"SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, _
ByVal lpLCData As String) As Boolean
Declare Function GetUserDefaultLCID% Lib "kernel32" ()
Public Const LOCALE_ICENTURY = &H24
Public Const LOCALE_ICOUNTRY = &H5
Public Const LOCALE_ICURRDIGITS = &H19
Public Const LOCALE_ICURRENCY = &H1B
Public Const LOCALE_IDATE = &H21
Public Const LOCALE_IDAYLZERO = &H26
Public Const LOCALE_IDEFAULTCODEPAGE = &HB
Public Const LOCALE_IDEFAULTCOUNTRY = &HA
Public Const LOCALE_IDEFAULTLANGUAGE = &H9
Public Const LOCALE_IDIGITS = &H11
Public Const LOCALE_IINTLCURRDIGITS = &H1A
Public Const LOCALE_ILANGUAGE = &H1
Public Const LOCALE_ILDATE = &H22
Public Const LOCALE_ILZERO = &H12
Public Const LOCALE_IMEASURE = &HD
Public Const LOCALE_IMONLZERO = &H27
Public Const LOCALE_INEGCURR = &H1C
Public Const LOCALE_INEGSEPBYSPACE = &H57
Public Const LOCALE_INEGSIGNPOSN = &H53
Public Const LOCALE_INEGSYMPRECEDES = &H56
Public Const LOCALE_IPOSSEPBYSPACE = &H55
Public Const LOCALE_IPOSSIGNPOSN = &H52
Public Const LOCALE_IPOSSYMPRECEDES = &H54
Public Const LOCALE_ITIME = &H23
Public Const LOCALE_ITLZERO = &H25
Public Const LOCALE_NOUSEROVERRIDE = &H80000000
Public Const LOCALE_S1159 = &H28
Public Const LOCALE_S2359 = &H29
Public Const LOCALE_SABBREVCTRYNAME = &H7
Public Const LOCALE_SABBREVDAYNAME1 = &H31
Public Const LOCALE_SABBREVDAYNAME2 = &H32
Public Const LOCALE_SABBREVDAYNAME3 = &H33
Public Const LOCALE_SABBREVDAYNAME4 = &H34
Public Const LOCALE_SABBREVDAYNAME5 = &H35
Public Const LOCALE_SABBREVDAYNAME6 = &H36
Public Const LOCALE_SABBREVDAYNAME7 = &H37
Public Const LOCALE_SABBREVLANGNAME = &H3
Public Const LOCALE_SABBREVMONTHNAME1 = &H44
Public Const LOCALE_SCOUNTRY = &H6
Public Const LOCALE_SCURRENCY = &H14
Public Const LOCALE_SDATE = &H1D
Public Const LOCALE_SDAYNAME1 = &H2A
Public Const LOCALE_SDAYNAME2 = &H2B
Public Const LOCALE_SDAYNAME3 = &H2C
Public Const LOCALE_SDAYNAME4 = &H2D
Public Const LOCALE_SDAYNAME5 = &H2E
Public Const LOCALE_SDAYNAME6 = &H2F
Public Const LOCALE_SDAYNAME7 = &H30
Public Const LOCALE_SDECIMAL = &HE
Public Const LOCALE_SENGCOUNTRY = &H1002
Public Const LOCALE_SENGLANGUAGE = &H1001
Public Const LOCALE_SGROUPING = &H10
Public Const LOCALE_SINTLSYMBOL = &H15
Public Const LOCALE_SLANGUAGE = &H2
Public Const LOCALE_SLIST = &HC
Public Const LOCALE_SLONGDATE = &H20
Public Const LOCALE_SMONDECIMALSEP = &H16
Public Const LOCALE_SMONGROUPING = &H18
Public Const LOCALE_SMONTHNAME1 = &H38
Public Const LOCALE_SMONTHNAME10 = &H41
Public Const LOCALE_SMONTHNAME11 = &H42
Public Const LOCALE_SMONTHNAME12 = &H43
Public Const LOCALE_SMONTHNAME2 = &H39
Public Const LOCALE_SMONTHNAME3 = &H3A
Public Const LOCALE_SMONTHNAME4 = &H3B
Public Const LOCALE_SMONTHNAME5 = &H3C
Public Const LOCALE_SMONTHNAME6 = &H3D
Public Const LOCALE_SMONTHNAME7 = &H3E
Public Const LOCALE_SMONTHNAME8 = &H3F
Public Const LOCALE_SMONTHNAME9 = &H40
Public Const LOCALE_SMONTHOUSANDSEP = &H17
Public Const LOCALE_SNATIVECTRYNAME = &H8
Public Const LOCALE_SNATIVEDIGITS = &H13
Public Const LOCALE_SNATIVELANGNAME = &H4
Public Const LOCALE_SNEGATIVESIGN = &H51
Public Const LOCALE_SPOSITIVESIGN = &H50
Public Const LOCALE_SSHORTDATE = &H1F
Public Const LOCALE_STHOUSAND = &HF
Public Const LOCALE_STIME = &H1E
Public Const LOCALE_STIMEFORMAT = &H1003
Public Sub Get_locale() ' Retrieve the regional setting
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim Pos As Integer
Dim Locale As Long
Locale = GetUserDefaultLCID()
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale symbol being requested as a parameter
iRet1 = GetLocaleInfo(Locale, LOCALE_SDATE, _
lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(Locale, LOCALE_SDATE, Symbol, iRet1)
Pos = InStr(Symbol, Chr$(0))
If Pos > 0 Then
Symbol = Left$(Symbol, Pos - 1)
MsgBox "Regional Setting = " + Symbol
End If
End Sub
Public Sub Set_locale() 'Change the regional setting
Dim Symbol As String
Dim iRet As Long
Dim Locale As Long
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale information being set as a parameter
Locale = GetUserDefaultLCID() 'Get user Locale ID
Symbol = "/" 'New character for the locale
iRet = SetLocaleInfo(Locale, LOCALE_SDATE, Symbol)
End Sub
'----------------------------------------------------------------
"Alex St-Pierre" <AlexStPierre@discussions.microsoft.com> a écrit dans le message de news:
A6DC9AA0-AE97-431C-8D9C-C91A718DC9A7@microsoft.com...
Bonjour,
J'ai un programme excel servant à produire un relevé Word. Le relevé peut
être généré dans 2 langues (français ou anglais). Si l'utiliser choisit
l'anglais et que ses settings régionaux sont en français, j'aimerais aller
changer les settings régionaux pour les mettrent en anglais (anglais). Cela
permet d'avoir les dates et nombre au bon format (12,345,789.12). Je me
demande si c'est possible car je trouve cette solution très simple.
Merci!
Alex
--
Alex St-Pierre
A ) Je n'ai pas l'intention de tester chacun des éléments du panneau de configuration !
Dans le cas de l'item "langue"... pour obtenir la langue désirée, je suppose que tu
devras modifier ces 3 items : (je n'ai pas testé...)
Public Const LOCALE_IDEFAULTCODEPAGE = &HB
Public Const LOCALE_IDEFAULTCOUNTRY = &HA
Public Const LOCALE_IDEFAULTLANGUAGE = &H9
Pour les code "page" et "country", va voir là :
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/country.mspx?mfr=true
"Alex St-Pierre" a écrit dans le message de news:
Bonjour!
J'ai essayé le programme Set_locale mais cela ne semble pas fonctionner. Si
je met le Symbol = "English" dans le programme suivant, ça ne fonctionne pas.
Je me demande comment je faire varier dans "Panneau config/Options
régionales/onglet:"Options régionales"/"Standards et formats" de
A)Français(Canada) à B) Anglais(Canada). Les settings peuvent s'appliquer à
l'ensemble de windows puisque Word doit utiliser les mêmes formats qu'Excel.
Public Sub Set_locale() 'Change the regional setting
Dim Symbol As String
Dim iRet As Long
Dim Locale As Long
Locale = GetUserDefaultLCID() 'Get user Locale ID
Symbol = "English"
iRet = SetLocaleInfo(Locale, LOCALE_SENGLANGUAGE, Symbol)
End Sub
Pour ce qui est du chef à quatre plumes, son programme fonctionne bien mais
il ne donne pas ses clés! Enfin, comme le programme sur lequel je travail va
être utilisé par bcp de personnes (50 et plus), je pense que le fait qu'il
n'y ait qu'un seul fichier excel et que l'utilisateur n'ait pas à manipuler
les settings est un gros avantage.
Merci!
Alex
--
Alex St-Pierre
"MichDenis" wrote:Il y a ceci :
'---------------------------------------------------------
'These declarations are designed
'for use in a .bas module
'since the constants are public
'Déclaration API dans le haut d'un module standard :
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
Declare Function SetLocaleInfo Lib "kernel32" Alias _
"SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, _
ByVal lpLCData As String) As Boolean
Declare Function GetUserDefaultLCID% Lib "kernel32" ()
Public Const LOCALE_ICENTURY = &H24
Public Const LOCALE_ICOUNTRY = &H5
Public Const LOCALE_ICURRDIGITS = &H19
Public Const LOCALE_ICURRENCY = &H1B
Public Const LOCALE_IDATE = &H21
Public Const LOCALE_IDAYLZERO = &H26
Public Const LOCALE_IDEFAULTCODEPAGE = &HB
Public Const LOCALE_IDEFAULTCOUNTRY = &HA
Public Const LOCALE_IDEFAULTLANGUAGE = &H9
Public Const LOCALE_IDIGITS = &H11
Public Const LOCALE_IINTLCURRDIGITS = &H1A
Public Const LOCALE_ILANGUAGE = &H1
Public Const LOCALE_ILDATE = &H22
Public Const LOCALE_ILZERO = &H12
Public Const LOCALE_IMEASURE = &HD
Public Const LOCALE_IMONLZERO = &H27
Public Const LOCALE_INEGCURR = &H1C
Public Const LOCALE_INEGSEPBYSPACE = &H57
Public Const LOCALE_INEGSIGNPOSN = &H53
Public Const LOCALE_INEGSYMPRECEDES = &H56
Public Const LOCALE_IPOSSEPBYSPACE = &H55
Public Const LOCALE_IPOSSIGNPOSN = &H52
Public Const LOCALE_IPOSSYMPRECEDES = &H54
Public Const LOCALE_ITIME = &H23
Public Const LOCALE_ITLZERO = &H25
Public Const LOCALE_NOUSEROVERRIDE = &H80000000
Public Const LOCALE_S1159 = &H28
Public Const LOCALE_S2359 = &H29
Public Const LOCALE_SABBREVCTRYNAME = &H7
Public Const LOCALE_SABBREVDAYNAME1 = &H31
Public Const LOCALE_SABBREVDAYNAME2 = &H32
Public Const LOCALE_SABBREVDAYNAME3 = &H33
Public Const LOCALE_SABBREVDAYNAME4 = &H34
Public Const LOCALE_SABBREVDAYNAME5 = &H35
Public Const LOCALE_SABBREVDAYNAME6 = &H36
Public Const LOCALE_SABBREVDAYNAME7 = &H37
Public Const LOCALE_SABBREVLANGNAME = &H3
Public Const LOCALE_SABBREVMONTHNAME1 = &H44
Public Const LOCALE_SCOUNTRY = &H6
Public Const LOCALE_SCURRENCY = &H14
Public Const LOCALE_SDATE = &H1D
Public Const LOCALE_SDAYNAME1 = &H2A
Public Const LOCALE_SDAYNAME2 = &H2B
Public Const LOCALE_SDAYNAME3 = &H2C
Public Const LOCALE_SDAYNAME4 = &H2D
Public Const LOCALE_SDAYNAME5 = &H2E
Public Const LOCALE_SDAYNAME6 = &H2F
Public Const LOCALE_SDAYNAME7 = &H30
Public Const LOCALE_SDECIMAL = &HE
Public Const LOCALE_SENGCOUNTRY = &H1002
Public Const LOCALE_SENGLANGUAGE = &H1001
Public Const LOCALE_SGROUPING = &H10
Public Const LOCALE_SINTLSYMBOL = &H15
Public Const LOCALE_SLANGUAGE = &H2
Public Const LOCALE_SLIST = &HC
Public Const LOCALE_SLONGDATE = &H20
Public Const LOCALE_SMONDECIMALSEP = &H16
Public Const LOCALE_SMONGROUPING = &H18
Public Const LOCALE_SMONTHNAME1 = &H38
Public Const LOCALE_SMONTHNAME10 = &H41
Public Const LOCALE_SMONTHNAME11 = &H42
Public Const LOCALE_SMONTHNAME12 = &H43
Public Const LOCALE_SMONTHNAME2 = &H39
Public Const LOCALE_SMONTHNAME3 = &H3A
Public Const LOCALE_SMONTHNAME4 = &H3B
Public Const LOCALE_SMONTHNAME5 = &H3C
Public Const LOCALE_SMONTHNAME6 = &H3D
Public Const LOCALE_SMONTHNAME7 = &H3E
Public Const LOCALE_SMONTHNAME8 = &H3F
Public Const LOCALE_SMONTHNAME9 = &H40
Public Const LOCALE_SMONTHOUSANDSEP = &H17
Public Const LOCALE_SNATIVECTRYNAME = &H8
Public Const LOCALE_SNATIVEDIGITS = &H13
Public Const LOCALE_SNATIVELANGNAME = &H4
Public Const LOCALE_SNEGATIVESIGN = &H51
Public Const LOCALE_SPOSITIVESIGN = &H50
Public Const LOCALE_SSHORTDATE = &H1F
Public Const LOCALE_STHOUSAND = &HF
Public Const LOCALE_STIME = &H1E
Public Const LOCALE_STIMEFORMAT = &H1003
Public Sub Get_locale() ' Retrieve the regional setting
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim Pos As Integer
Dim Locale As Long
Locale = GetUserDefaultLCID()
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale symbol being requested as a parameter
iRet1 = GetLocaleInfo(Locale, LOCALE_SDATE, _
lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(Locale, LOCALE_SDATE, Symbol, iRet1)
Pos = InStr(Symbol, Chr$(0))
If Pos > 0 Then
Symbol = Left$(Symbol, Pos - 1)
MsgBox "Regional Setting = " + Symbol
End If
End Sub
Public Sub Set_locale() 'Change the regional setting
Dim Symbol As String
Dim iRet As Long
Dim Locale As Long
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale information being set as a parameter
Locale = GetUserDefaultLCID() 'Get user Locale ID
Symbol = "/" 'New character for the locale
iRet = SetLocaleInfo(Locale, LOCALE_SDATE, Symbol)
End Sub
'----------------------------------------------------------------
"Alex St-Pierre" a écrit dans le message de news:
Bonjour,
J'ai un programme excel servant à produire un relevé Word. Le relevé peut
être généré dans 2 langues (français ou anglais). Si l'utiliser choisit
l'anglais et que ses settings régionaux sont en français, j'aimerais aller
changer les settings régionaux pour les mettrent en anglais (anglais). Cela
permet d'avoir les dates et nombre au bon format (12,345,789.12). Je me
demande si c'est possible car je trouve cette solution très simple.
Merci!
Alex
--
Alex St-Pierre
A ) Je n'ai pas l'intention de tester chacun des éléments du panneau de configuration !
Dans le cas de l'item "langue"... pour obtenir la langue désirée, je suppose que tu
devras modifier ces 3 items : (je n'ai pas testé...)
Public Const LOCALE_IDEFAULTCODEPAGE = &HB
Public Const LOCALE_IDEFAULTCOUNTRY = &HA
Public Const LOCALE_IDEFAULTLANGUAGE = &H9
Pour les code "page" et "country", va voir là :
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/country.mspx?mfr=true
"Alex St-Pierre" a écrit dans le message de news:
Bonjour!
J'ai essayé le programme Set_locale mais cela ne semble pas fonctionner. Si
je met le Symbol = "English" dans le programme suivant, ça ne fonctionne pas.
Je me demande comment je faire varier dans "Panneau config/Options
régionales/onglet:"Options régionales"/"Standards et formats" de
A)Français(Canada) à B) Anglais(Canada). Les settings peuvent s'appliquer à
l'ensemble de windows puisque Word doit utiliser les mêmes formats qu'Excel.
Public Sub Set_locale() 'Change the regional setting
Dim Symbol As String
Dim iRet As Long
Dim Locale As Long
Locale = GetUserDefaultLCID() 'Get user Locale ID
Symbol = "English"
iRet = SetLocaleInfo(Locale, LOCALE_SENGLANGUAGE, Symbol)
End Sub
Pour ce qui est du chef à quatre plumes, son programme fonctionne bien mais
il ne donne pas ses clés! Enfin, comme le programme sur lequel je travail va
être utilisé par bcp de personnes (50 et plus), je pense que le fait qu'il
n'y ait qu'un seul fichier excel et que l'utilisateur n'ait pas à manipuler
les settings est un gros avantage.
Merci!
Alex
--
Alex St-Pierre
"MichDenis" wrote:Il y a ceci :
'---------------------------------------------------------
'These declarations are designed
'for use in a .bas module
'since the constants are public
'Déclaration API dans le haut d'un module standard :
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
Declare Function SetLocaleInfo Lib "kernel32" Alias _
"SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, _
ByVal lpLCData As String) As Boolean
Declare Function GetUserDefaultLCID% Lib "kernel32" ()
Public Const LOCALE_ICENTURY = &H24
Public Const LOCALE_ICOUNTRY = &H5
Public Const LOCALE_ICURRDIGITS = &H19
Public Const LOCALE_ICURRENCY = &H1B
Public Const LOCALE_IDATE = &H21
Public Const LOCALE_IDAYLZERO = &H26
Public Const LOCALE_IDEFAULTCODEPAGE = &HB
Public Const LOCALE_IDEFAULTCOUNTRY = &HA
Public Const LOCALE_IDEFAULTLANGUAGE = &H9
Public Const LOCALE_IDIGITS = &H11
Public Const LOCALE_IINTLCURRDIGITS = &H1A
Public Const LOCALE_ILANGUAGE = &H1
Public Const LOCALE_ILDATE = &H22
Public Const LOCALE_ILZERO = &H12
Public Const LOCALE_IMEASURE = &HD
Public Const LOCALE_IMONLZERO = &H27
Public Const LOCALE_INEGCURR = &H1C
Public Const LOCALE_INEGSEPBYSPACE = &H57
Public Const LOCALE_INEGSIGNPOSN = &H53
Public Const LOCALE_INEGSYMPRECEDES = &H56
Public Const LOCALE_IPOSSEPBYSPACE = &H55
Public Const LOCALE_IPOSSIGNPOSN = &H52
Public Const LOCALE_IPOSSYMPRECEDES = &H54
Public Const LOCALE_ITIME = &H23
Public Const LOCALE_ITLZERO = &H25
Public Const LOCALE_NOUSEROVERRIDE = &H80000000
Public Const LOCALE_S1159 = &H28
Public Const LOCALE_S2359 = &H29
Public Const LOCALE_SABBREVCTRYNAME = &H7
Public Const LOCALE_SABBREVDAYNAME1 = &H31
Public Const LOCALE_SABBREVDAYNAME2 = &H32
Public Const LOCALE_SABBREVDAYNAME3 = &H33
Public Const LOCALE_SABBREVDAYNAME4 = &H34
Public Const LOCALE_SABBREVDAYNAME5 = &H35
Public Const LOCALE_SABBREVDAYNAME6 = &H36
Public Const LOCALE_SABBREVDAYNAME7 = &H37
Public Const LOCALE_SABBREVLANGNAME = &H3
Public Const LOCALE_SABBREVMONTHNAME1 = &H44
Public Const LOCALE_SCOUNTRY = &H6
Public Const LOCALE_SCURRENCY = &H14
Public Const LOCALE_SDATE = &H1D
Public Const LOCALE_SDAYNAME1 = &H2A
Public Const LOCALE_SDAYNAME2 = &H2B
Public Const LOCALE_SDAYNAME3 = &H2C
Public Const LOCALE_SDAYNAME4 = &H2D
Public Const LOCALE_SDAYNAME5 = &H2E
Public Const LOCALE_SDAYNAME6 = &H2F
Public Const LOCALE_SDAYNAME7 = &H30
Public Const LOCALE_SDECIMAL = &HE
Public Const LOCALE_SENGCOUNTRY = &H1002
Public Const LOCALE_SENGLANGUAGE = &H1001
Public Const LOCALE_SGROUPING = &H10
Public Const LOCALE_SINTLSYMBOL = &H15
Public Const LOCALE_SLANGUAGE = &H2
Public Const LOCALE_SLIST = &HC
Public Const LOCALE_SLONGDATE = &H20
Public Const LOCALE_SMONDECIMALSEP = &H16
Public Const LOCALE_SMONGROUPING = &H18
Public Const LOCALE_SMONTHNAME1 = &H38
Public Const LOCALE_SMONTHNAME10 = &H41
Public Const LOCALE_SMONTHNAME11 = &H42
Public Const LOCALE_SMONTHNAME12 = &H43
Public Const LOCALE_SMONTHNAME2 = &H39
Public Const LOCALE_SMONTHNAME3 = &H3A
Public Const LOCALE_SMONTHNAME4 = &H3B
Public Const LOCALE_SMONTHNAME5 = &H3C
Public Const LOCALE_SMONTHNAME6 = &H3D
Public Const LOCALE_SMONTHNAME7 = &H3E
Public Const LOCALE_SMONTHNAME8 = &H3F
Public Const LOCALE_SMONTHNAME9 = &H40
Public Const LOCALE_SMONTHOUSANDSEP = &H17
Public Const LOCALE_SNATIVECTRYNAME = &H8
Public Const LOCALE_SNATIVEDIGITS = &H13
Public Const LOCALE_SNATIVELANGNAME = &H4
Public Const LOCALE_SNEGATIVESIGN = &H51
Public Const LOCALE_SPOSITIVESIGN = &H50
Public Const LOCALE_SSHORTDATE = &H1F
Public Const LOCALE_STHOUSAND = &HF
Public Const LOCALE_STIME = &H1E
Public Const LOCALE_STIMEFORMAT = &H1003
Public Sub Get_locale() ' Retrieve the regional setting
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim Pos As Integer
Dim Locale As Long
Locale = GetUserDefaultLCID()
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale symbol being requested as a parameter
iRet1 = GetLocaleInfo(Locale, LOCALE_SDATE, _
lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(Locale, LOCALE_SDATE, Symbol, iRet1)
Pos = InStr(Symbol, Chr$(0))
If Pos > 0 Then
Symbol = Left$(Symbol, Pos - 1)
MsgBox "Regional Setting = " + Symbol
End If
End Sub
Public Sub Set_locale() 'Change the regional setting
Dim Symbol As String
Dim iRet As Long
Dim Locale As Long
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale information being set as a parameter
Locale = GetUserDefaultLCID() 'Get user Locale ID
Symbol = "/" 'New character for the locale
iRet = SetLocaleInfo(Locale, LOCALE_SDATE, Symbol)
End Sub
'----------------------------------------------------------------
"Alex St-Pierre" a écrit dans le message de news:
Bonjour,
J'ai un programme excel servant à produire un relevé Word. Le relevé peut
être généré dans 2 langues (français ou anglais). Si l'utiliser choisit
l'anglais et que ses settings régionaux sont en français, j'aimerais aller
changer les settings régionaux pour les mettrent en anglais (anglais). Cela
permet d'avoir les dates et nombre au bon format (12,345,789.12). Je me
demande si c'est possible car je trouve cette solution très simple.
Merci!
Alex
--
Alex St-Pierre
A ) Je n'ai pas l'intention de tester chacun des éléments du panneau de configuration !
Dans le cas de l'item "langue"... pour obtenir la langue désirée, je suppose que tu
devras modifier ces 3 items : (je n'ai pas testé...)
Public Const LOCALE_IDEFAULTCODEPAGE = &HB
Public Const LOCALE_IDEFAULTCOUNTRY = &HA
Public Const LOCALE_IDEFAULTLANGUAGE = &H9
Pour les code "page" et "country", va voir là :
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/country.mspx?mfr=true
"Alex St-Pierre" <AlexStPierre@discussions.microsoft.com> a écrit dans le message de news:
DF3AE7E4-B268-42A9-8E52-585F76824619@microsoft.com...
Bonjour!
J'ai essayé le programme Set_locale mais cela ne semble pas fonctionner. Si
je met le Symbol = "English" dans le programme suivant, ça ne fonctionne pas.
Je me demande comment je faire varier dans "Panneau config/Options
régionales/onglet:"Options régionales"/"Standards et formats" de
A)Français(Canada) à B) Anglais(Canada). Les settings peuvent s'appliquer à
l'ensemble de windows puisque Word doit utiliser les mêmes formats qu'Excel.
Public Sub Set_locale() 'Change the regional setting
Dim Symbol As String
Dim iRet As Long
Dim Locale As Long
Locale = GetUserDefaultLCID() 'Get user Locale ID
Symbol = "English"
iRet = SetLocaleInfo(Locale, LOCALE_SENGLANGUAGE, Symbol)
End Sub
Pour ce qui est du chef à quatre plumes, son programme fonctionne bien mais
il ne donne pas ses clés! Enfin, comme le programme sur lequel je travail va
être utilisé par bcp de personnes (50 et plus), je pense que le fait qu'il
n'y ait qu'un seul fichier excel et que l'utilisateur n'ait pas à manipuler
les settings est un gros avantage.
Merci!
Alex
--
Alex St-Pierre
"MichDenis" wrote:
Il y a ceci :
'---------------------------------------------------------
'These declarations are designed
'for use in a .bas module
'since the constants are public
'Déclaration API dans le haut d'un module standard :
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
Declare Function SetLocaleInfo Lib "kernel32" Alias _
"SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, _
ByVal lpLCData As String) As Boolean
Declare Function GetUserDefaultLCID% Lib "kernel32" ()
Public Const LOCALE_ICENTURY = &H24
Public Const LOCALE_ICOUNTRY = &H5
Public Const LOCALE_ICURRDIGITS = &H19
Public Const LOCALE_ICURRENCY = &H1B
Public Const LOCALE_IDATE = &H21
Public Const LOCALE_IDAYLZERO = &H26
Public Const LOCALE_IDEFAULTCODEPAGE = &HB
Public Const LOCALE_IDEFAULTCOUNTRY = &HA
Public Const LOCALE_IDEFAULTLANGUAGE = &H9
Public Const LOCALE_IDIGITS = &H11
Public Const LOCALE_IINTLCURRDIGITS = &H1A
Public Const LOCALE_ILANGUAGE = &H1
Public Const LOCALE_ILDATE = &H22
Public Const LOCALE_ILZERO = &H12
Public Const LOCALE_IMEASURE = &HD
Public Const LOCALE_IMONLZERO = &H27
Public Const LOCALE_INEGCURR = &H1C
Public Const LOCALE_INEGSEPBYSPACE = &H57
Public Const LOCALE_INEGSIGNPOSN = &H53
Public Const LOCALE_INEGSYMPRECEDES = &H56
Public Const LOCALE_IPOSSEPBYSPACE = &H55
Public Const LOCALE_IPOSSIGNPOSN = &H52
Public Const LOCALE_IPOSSYMPRECEDES = &H54
Public Const LOCALE_ITIME = &H23
Public Const LOCALE_ITLZERO = &H25
Public Const LOCALE_NOUSEROVERRIDE = &H80000000
Public Const LOCALE_S1159 = &H28
Public Const LOCALE_S2359 = &H29
Public Const LOCALE_SABBREVCTRYNAME = &H7
Public Const LOCALE_SABBREVDAYNAME1 = &H31
Public Const LOCALE_SABBREVDAYNAME2 = &H32
Public Const LOCALE_SABBREVDAYNAME3 = &H33
Public Const LOCALE_SABBREVDAYNAME4 = &H34
Public Const LOCALE_SABBREVDAYNAME5 = &H35
Public Const LOCALE_SABBREVDAYNAME6 = &H36
Public Const LOCALE_SABBREVDAYNAME7 = &H37
Public Const LOCALE_SABBREVLANGNAME = &H3
Public Const LOCALE_SABBREVMONTHNAME1 = &H44
Public Const LOCALE_SCOUNTRY = &H6
Public Const LOCALE_SCURRENCY = &H14
Public Const LOCALE_SDATE = &H1D
Public Const LOCALE_SDAYNAME1 = &H2A
Public Const LOCALE_SDAYNAME2 = &H2B
Public Const LOCALE_SDAYNAME3 = &H2C
Public Const LOCALE_SDAYNAME4 = &H2D
Public Const LOCALE_SDAYNAME5 = &H2E
Public Const LOCALE_SDAYNAME6 = &H2F
Public Const LOCALE_SDAYNAME7 = &H30
Public Const LOCALE_SDECIMAL = &HE
Public Const LOCALE_SENGCOUNTRY = &H1002
Public Const LOCALE_SENGLANGUAGE = &H1001
Public Const LOCALE_SGROUPING = &H10
Public Const LOCALE_SINTLSYMBOL = &H15
Public Const LOCALE_SLANGUAGE = &H2
Public Const LOCALE_SLIST = &HC
Public Const LOCALE_SLONGDATE = &H20
Public Const LOCALE_SMONDECIMALSEP = &H16
Public Const LOCALE_SMONGROUPING = &H18
Public Const LOCALE_SMONTHNAME1 = &H38
Public Const LOCALE_SMONTHNAME10 = &H41
Public Const LOCALE_SMONTHNAME11 = &H42
Public Const LOCALE_SMONTHNAME12 = &H43
Public Const LOCALE_SMONTHNAME2 = &H39
Public Const LOCALE_SMONTHNAME3 = &H3A
Public Const LOCALE_SMONTHNAME4 = &H3B
Public Const LOCALE_SMONTHNAME5 = &H3C
Public Const LOCALE_SMONTHNAME6 = &H3D
Public Const LOCALE_SMONTHNAME7 = &H3E
Public Const LOCALE_SMONTHNAME8 = &H3F
Public Const LOCALE_SMONTHNAME9 = &H40
Public Const LOCALE_SMONTHOUSANDSEP = &H17
Public Const LOCALE_SNATIVECTRYNAME = &H8
Public Const LOCALE_SNATIVEDIGITS = &H13
Public Const LOCALE_SNATIVELANGNAME = &H4
Public Const LOCALE_SNEGATIVESIGN = &H51
Public Const LOCALE_SPOSITIVESIGN = &H50
Public Const LOCALE_SSHORTDATE = &H1F
Public Const LOCALE_STHOUSAND = &HF
Public Const LOCALE_STIME = &H1E
Public Const LOCALE_STIMEFORMAT = &H1003
Public Sub Get_locale() ' Retrieve the regional setting
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim Pos As Integer
Dim Locale As Long
Locale = GetUserDefaultLCID()
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale symbol being requested as a parameter
iRet1 = GetLocaleInfo(Locale, LOCALE_SDATE, _
lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(Locale, LOCALE_SDATE, Symbol, iRet1)
Pos = InStr(Symbol, Chr$(0))
If Pos > 0 Then
Symbol = Left$(Symbol, Pos - 1)
MsgBox "Regional Setting = " + Symbol
End If
End Sub
Public Sub Set_locale() 'Change the regional setting
Dim Symbol As String
Dim iRet As Long
Dim Locale As Long
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale information being set as a parameter
Locale = GetUserDefaultLCID() 'Get user Locale ID
Symbol = "/" 'New character for the locale
iRet = SetLocaleInfo(Locale, LOCALE_SDATE, Symbol)
End Sub
'----------------------------------------------------------------
"Alex St-Pierre" <AlexStPierre@discussions.microsoft.com> a écrit dans le message de news:
A6DC9AA0-AE97-431C-8D9C-C91A718DC9A7@microsoft.com...
Bonjour,
J'ai un programme excel servant à produire un relevé Word. Le relevé peut
être généré dans 2 langues (français ou anglais). Si l'utiliser choisit
l'anglais et que ses settings régionaux sont en français, j'aimerais aller
changer les settings régionaux pour les mettrent en anglais (anglais). Cela
permet d'avoir les dates et nombre au bon format (12,345,789.12). Je me
demande si c'est possible car je trouve cette solution très simple.
Merci!
Alex
--
Alex St-Pierre
A ) Je n'ai pas l'intention de tester chacun des éléments du panneau de configuration !
Dans le cas de l'item "langue"... pour obtenir la langue désirée, je suppose que tu
devras modifier ces 3 items : (je n'ai pas testé...)
Public Const LOCALE_IDEFAULTCODEPAGE = &HB
Public Const LOCALE_IDEFAULTCOUNTRY = &HA
Public Const LOCALE_IDEFAULTLANGUAGE = &H9
Pour les code "page" et "country", va voir là :
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/country.mspx?mfr=true
"Alex St-Pierre" a écrit dans le message de news:
Bonjour!
J'ai essayé le programme Set_locale mais cela ne semble pas fonctionner. Si
je met le Symbol = "English" dans le programme suivant, ça ne fonctionne pas.
Je me demande comment je faire varier dans "Panneau config/Options
régionales/onglet:"Options régionales"/"Standards et formats" de
A)Français(Canada) à B) Anglais(Canada). Les settings peuvent s'appliquer à
l'ensemble de windows puisque Word doit utiliser les mêmes formats qu'Excel.
Public Sub Set_locale() 'Change the regional setting
Dim Symbol As String
Dim iRet As Long
Dim Locale As Long
Locale = GetUserDefaultLCID() 'Get user Locale ID
Symbol = "English"
iRet = SetLocaleInfo(Locale, LOCALE_SENGLANGUAGE, Symbol)
End Sub
Pour ce qui est du chef à quatre plumes, son programme fonctionne bien mais
il ne donne pas ses clés! Enfin, comme le programme sur lequel je travail va
être utilisé par bcp de personnes (50 et plus), je pense que le fait qu'il
n'y ait qu'un seul fichier excel et que l'utilisateur n'ait pas à manipuler
les settings est un gros avantage.
Merci!
Alex
--
Alex St-Pierre
"MichDenis" wrote:Il y a ceci :
'---------------------------------------------------------
'These declarations are designed
'for use in a .bas module
'since the constants are public
'Déclaration API dans le haut d'un module standard :
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
Declare Function SetLocaleInfo Lib "kernel32" Alias _
"SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, _
ByVal lpLCData As String) As Boolean
Declare Function GetUserDefaultLCID% Lib "kernel32" ()
Public Const LOCALE_ICENTURY = &H24
Public Const LOCALE_ICOUNTRY = &H5
Public Const LOCALE_ICURRDIGITS = &H19
Public Const LOCALE_ICURRENCY = &H1B
Public Const LOCALE_IDATE = &H21
Public Const LOCALE_IDAYLZERO = &H26
Public Const LOCALE_IDEFAULTCODEPAGE = &HB
Public Const LOCALE_IDEFAULTCOUNTRY = &HA
Public Const LOCALE_IDEFAULTLANGUAGE = &H9
Public Const LOCALE_IDIGITS = &H11
Public Const LOCALE_IINTLCURRDIGITS = &H1A
Public Const LOCALE_ILANGUAGE = &H1
Public Const LOCALE_ILDATE = &H22
Public Const LOCALE_ILZERO = &H12
Public Const LOCALE_IMEASURE = &HD
Public Const LOCALE_IMONLZERO = &H27
Public Const LOCALE_INEGCURR = &H1C
Public Const LOCALE_INEGSEPBYSPACE = &H57
Public Const LOCALE_INEGSIGNPOSN = &H53
Public Const LOCALE_INEGSYMPRECEDES = &H56
Public Const LOCALE_IPOSSEPBYSPACE = &H55
Public Const LOCALE_IPOSSIGNPOSN = &H52
Public Const LOCALE_IPOSSYMPRECEDES = &H54
Public Const LOCALE_ITIME = &H23
Public Const LOCALE_ITLZERO = &H25
Public Const LOCALE_NOUSEROVERRIDE = &H80000000
Public Const LOCALE_S1159 = &H28
Public Const LOCALE_S2359 = &H29
Public Const LOCALE_SABBREVCTRYNAME = &H7
Public Const LOCALE_SABBREVDAYNAME1 = &H31
Public Const LOCALE_SABBREVDAYNAME2 = &H32
Public Const LOCALE_SABBREVDAYNAME3 = &H33
Public Const LOCALE_SABBREVDAYNAME4 = &H34
Public Const LOCALE_SABBREVDAYNAME5 = &H35
Public Const LOCALE_SABBREVDAYNAME6 = &H36
Public Const LOCALE_SABBREVDAYNAME7 = &H37
Public Const LOCALE_SABBREVLANGNAME = &H3
Public Const LOCALE_SABBREVMONTHNAME1 = &H44
Public Const LOCALE_SCOUNTRY = &H6
Public Const LOCALE_SCURRENCY = &H14
Public Const LOCALE_SDATE = &H1D
Public Const LOCALE_SDAYNAME1 = &H2A
Public Const LOCALE_SDAYNAME2 = &H2B
Public Const LOCALE_SDAYNAME3 = &H2C
Public Const LOCALE_SDAYNAME4 = &H2D
Public Const LOCALE_SDAYNAME5 = &H2E
Public Const LOCALE_SDAYNAME6 = &H2F
Public Const LOCALE_SDAYNAME7 = &H30
Public Const LOCALE_SDECIMAL = &HE
Public Const LOCALE_SENGCOUNTRY = &H1002
Public Const LOCALE_SENGLANGUAGE = &H1001
Public Const LOCALE_SGROUPING = &H10
Public Const LOCALE_SINTLSYMBOL = &H15
Public Const LOCALE_SLANGUAGE = &H2
Public Const LOCALE_SLIST = &HC
Public Const LOCALE_SLONGDATE = &H20
Public Const LOCALE_SMONDECIMALSEP = &H16
Public Const LOCALE_SMONGROUPING = &H18
Public Const LOCALE_SMONTHNAME1 = &H38
Public Const LOCALE_SMONTHNAME10 = &H41
Public Const LOCALE_SMONTHNAME11 = &H42
Public Const LOCALE_SMONTHNAME12 = &H43
Public Const LOCALE_SMONTHNAME2 = &H39
Public Const LOCALE_SMONTHNAME3 = &H3A
Public Const LOCALE_SMONTHNAME4 = &H3B
Public Const LOCALE_SMONTHNAME5 = &H3C
Public Const LOCALE_SMONTHNAME6 = &H3D
Public Const LOCALE_SMONTHNAME7 = &H3E
Public Const LOCALE_SMONTHNAME8 = &H3F
Public Const LOCALE_SMONTHNAME9 = &H40
Public Const LOCALE_SMONTHOUSANDSEP = &H17
Public Const LOCALE_SNATIVECTRYNAME = &H8
Public Const LOCALE_SNATIVEDIGITS = &H13
Public Const LOCALE_SNATIVELANGNAME = &H4
Public Const LOCALE_SNEGATIVESIGN = &H51
Public Const LOCALE_SPOSITIVESIGN = &H50
Public Const LOCALE_SSHORTDATE = &H1F
Public Const LOCALE_STHOUSAND = &HF
Public Const LOCALE_STIME = &H1E
Public Const LOCALE_STIMEFORMAT = &H1003
Public Sub Get_locale() ' Retrieve the regional setting
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim Pos As Integer
Dim Locale As Long
Locale = GetUserDefaultLCID()
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale symbol being requested as a parameter
iRet1 = GetLocaleInfo(Locale, LOCALE_SDATE, _
lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(Locale, LOCALE_SDATE, Symbol, iRet1)
Pos = InStr(Symbol, Chr$(0))
If Pos > 0 Then
Symbol = Left$(Symbol, Pos - 1)
MsgBox "Regional Setting = " + Symbol
End If
End Sub
Public Sub Set_locale() 'Change the regional setting
Dim Symbol As String
Dim iRet As Long
Dim Locale As Long
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale information being set as a parameter
Locale = GetUserDefaultLCID() 'Get user Locale ID
Symbol = "/" 'New character for the locale
iRet = SetLocaleInfo(Locale, LOCALE_SDATE, Symbol)
End Sub
'----------------------------------------------------------------
"Alex St-Pierre" a écrit dans le message de news:
Bonjour,
J'ai un programme excel servant à produire un relevé Word. Le relevé peut
être généré dans 2 langues (français ou anglais). Si l'utiliser choisit
l'anglais et que ses settings régionaux sont en français, j'aimerais aller
changer les settings régionaux pour les mettrent en anglais (anglais). Cela
permet d'avoir les dates et nombre au bon format (12,345,789.12). Je me
demande si c'est possible car je trouve cette solution très simple.
Merci!
Alex
--
Alex St-Pierre
Si cela ne fonctionne pas comme tu le souhaites,
tu peux utiliser ces lignes de code... Ce code doit
être lancé à partir de l'interface de la feuille de calcul.
Ces lignes la fenêtre du panneau de configuration où
il est possible de modifier ou d'ajouter une langue !
Ceci testé sous windows xp pro.
'-----------------------------
Sub test()
Dim Cmdl As String
Cmdl = "rundll32.exe shell32.dll,Control_RunDLL intl.cpl" + ",,5"
SendKeys "+{TAB}" & "{RIGHT}" & "%{D}"
Shell Cmdl$, vbNormalFocus
End Sub
'-----------------------------
"Alex St-Pierre" a écrit dans le message de news:
Bonjour!
Quand je change de langue (de Français(Canada) à Anglais(Canada), seulement
le paramètre "LOCALE_IDEFAULTLANGUAGE" change de 1009 (anglais) à 0c0c
(français). J'utilise la macro suivante:
MsgBox "A " & GetInfo(LOCALE_IDEFAULTCODEPAGE) _
& ", B" & GetInfo(LOCALE_IDEFAULTCOUNTRY) & "," _
& vbCrLf & "C " & _
GetInfo(LOCALE_IDEFAULTLANGUAGE)
Quand j'essais de modifier la langue, rien ne fonctionne.
Sub Test()
Dim Symbol As String
Dim iRet As Long
Dim Locale As Long
Locale = GetUserDefaultLCID() 'Get user Locale ID
Symbol = "1009" ' ou "0c0c"
Call SetLocaleInfo(Locale, LOCALE_IDEFAULTLANGUAGE, Symbol)
End Sub
Est-ce que quelqu'un a une idée?
Merci!
Alex
--
Alex St-Pierre
"MichDenis" wrote:A ) Je n'ai pas l'intention de tester chacun des éléments du panneau de configuration !
Dans le cas de l'item "langue"... pour obtenir la langue désirée, je suppose que tu
devras modifier ces 3 items : (je n'ai pas testé...)
Public Const LOCALE_IDEFAULTCODEPAGE = &HB
Public Const LOCALE_IDEFAULTCOUNTRY = &HA
Public Const LOCALE_IDEFAULTLANGUAGE = &H9
Pour les code "page" et "country", va voir là :
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/country.mspx?mfr=true
"Alex St-Pierre" a écrit dans le message de news:
Bonjour!
J'ai essayé le programme Set_locale mais cela ne semble pas fonctionner. Si
je met le Symbol = "English" dans le programme suivant, ça ne fonctionne pas.
Je me demande comment je faire varier dans "Panneau config/Options
régionales/onglet:"Options régionales"/"Standards et formats" de
A)Français(Canada) à B) Anglais(Canada). Les settings peuvent s'appliquer à
l'ensemble de windows puisque Word doit utiliser les mêmes formats qu'Excel.
Public Sub Set_locale() 'Change the regional setting
Dim Symbol As String
Dim iRet As Long
Dim Locale As Long
Locale = GetUserDefaultLCID() 'Get user Locale ID
Symbol = "English"
iRet = SetLocaleInfo(Locale, LOCALE_SENGLANGUAGE, Symbol)
End Sub
Pour ce qui est du chef à quatre plumes, son programme fonctionne bien mais
il ne donne pas ses clés! Enfin, comme le programme sur lequel je travail va
être utilisé par bcp de personnes (50 et plus), je pense que le fait qu'il
n'y ait qu'un seul fichier excel et que l'utilisateur n'ait pas à manipuler
les settings est un gros avantage.
Merci!
Alex
--
Alex St-Pierre
"MichDenis" wrote:Il y a ceci :
'---------------------------------------------------------
'These declarations are designed
'for use in a .bas module
'since the constants are public
'Déclaration API dans le haut d'un module standard :
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
Declare Function SetLocaleInfo Lib "kernel32" Alias _
"SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, _
ByVal lpLCData As String) As Boolean
Declare Function GetUserDefaultLCID% Lib "kernel32" ()
Public Const LOCALE_ICENTURY = &H24
Public Const LOCALE_ICOUNTRY = &H5
Public Const LOCALE_ICURRDIGITS = &H19
Public Const LOCALE_ICURRENCY = &H1B
Public Const LOCALE_IDATE = &H21
Public Const LOCALE_IDAYLZERO = &H26
Public Const LOCALE_IDEFAULTCODEPAGE = &HB
Public Const LOCALE_IDEFAULTCOUNTRY = &HA
Public Const LOCALE_IDEFAULTLANGUAGE = &H9
Public Const LOCALE_IDIGITS = &H11
Public Const LOCALE_IINTLCURRDIGITS = &H1A
Public Const LOCALE_ILANGUAGE = &H1
Public Const LOCALE_ILDATE = &H22
Public Const LOCALE_ILZERO = &H12
Public Const LOCALE_IMEASURE = &HD
Public Const LOCALE_IMONLZERO = &H27
Public Const LOCALE_INEGCURR = &H1C
Public Const LOCALE_INEGSEPBYSPACE = &H57
Public Const LOCALE_INEGSIGNPOSN = &H53
Public Const LOCALE_INEGSYMPRECEDES = &H56
Public Const LOCALE_IPOSSEPBYSPACE = &H55
Public Const LOCALE_IPOSSIGNPOSN = &H52
Public Const LOCALE_IPOSSYMPRECEDES = &H54
Public Const LOCALE_ITIME = &H23
Public Const LOCALE_ITLZERO = &H25
Public Const LOCALE_NOUSEROVERRIDE = &H80000000
Public Const LOCALE_S1159 = &H28
Public Const LOCALE_S2359 = &H29
Public Const LOCALE_SABBREVCTRYNAME = &H7
Public Const LOCALE_SABBREVDAYNAME1 = &H31
Public Const LOCALE_SABBREVDAYNAME2 = &H32
Public Const LOCALE_SABBREVDAYNAME3 = &H33
Public Const LOCALE_SABBREVDAYNAME4 = &H34
Public Const LOCALE_SABBREVDAYNAME5 = &H35
Public Const LOCALE_SABBREVDAYNAME6 = &H36
Public Const LOCALE_SABBREVDAYNAME7 = &H37
Public Const LOCALE_SABBREVLANGNAME = &H3
Public Const LOCALE_SABBREVMONTHNAME1 = &H44
Public Const LOCALE_SCOUNTRY = &H6
Public Const LOCALE_SCURRENCY = &H14
Public Const LOCALE_SDATE = &H1D
Public Const LOCALE_SDAYNAME1 = &H2A
Public Const LOCALE_SDAYNAME2 = &H2B
Public Const LOCALE_SDAYNAME3 = &H2C
Public Const LOCALE_SDAYNAME4 = &H2D
Public Const LOCALE_SDAYNAME5 = &H2E
Public Const LOCALE_SDAYNAME6 = &H2F
Public Const LOCALE_SDAYNAME7 = &H30
Public Const LOCALE_SDECIMAL = &HE
Public Const LOCALE_SENGCOUNTRY = &H1002
Public Const LOCALE_SENGLANGUAGE = &H1001
Public Const LOCALE_SGROUPING = &H10
Public Const LOCALE_SINTLSYMBOL = &H15
Public Const LOCALE_SLANGUAGE = &H2
Public Const LOCALE_SLIST = &HC
Public Const LOCALE_SLONGDATE = &H20
Public Const LOCALE_SMONDECIMALSEP = &H16
Public Const LOCALE_SMONGROUPING = &H18
Public Const LOCALE_SMONTHNAME1 = &H38
Public Const LOCALE_SMONTHNAME10 = &H41
Public Const LOCALE_SMONTHNAME11 = &H42
Public Const LOCALE_SMONTHNAME12 = &H43
Public Const LOCALE_SMONTHNAME2 = &H39
Public Const LOCALE_SMONTHNAME3 = &H3A
Public Const LOCALE_SMONTHNAME4 = &H3B
Public Const LOCALE_SMONTHNAME5 = &H3C
Public Const LOCALE_SMONTHNAME6 = &H3D
Public Const LOCALE_SMONTHNAME7 = &H3E
Public Const LOCALE_SMONTHNAME8 = &H3F
Public Const LOCALE_SMONTHNAME9 = &H40
Public Const LOCALE_SMONTHOUSANDSEP = &H17
Public Const LOCALE_SNATIVECTRYNAME = &H8
Public Const LOCALE_SNATIVEDIGITS = &H13
Public Const LOCALE_SNATIVELANGNAME = &H4
Public Const LOCALE_SNEGATIVESIGN = &H51
Public Const LOCALE_SPOSITIVESIGN = &H50
Public Const LOCALE_SSHORTDATE = &H1F
Public Const LOCALE_STHOUSAND = &HF
Public Const LOCALE_STIME = &H1E
Public Const LOCALE_STIMEFORMAT = &H1003
Public Sub Get_locale() ' Retrieve the regional setting
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim Pos As Integer
Dim Locale As Long
Locale = GetUserDefaultLCID()
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale symbol being requested as a parameter
iRet1 = GetLocaleInfo(Locale, LOCALE_SDATE, _
lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(Locale, LOCALE_SDATE, Symbol, iRet1)
Pos = InStr(Symbol, Chr$(0))
If Pos > 0 Then
Symbol = Left$(Symbol, Pos - 1)
MsgBox "Regional Setting = " + Symbol
End If
End Sub
Public Sub Set_locale() 'Change the regional setting
Dim Symbol As String
Dim iRet As Long
Dim Locale As Long
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale information being set as a parameter
Locale = GetUserDefaultLCID() 'Get user Locale ID
Symbol = "/" 'New character for the locale
iRet = SetLocaleInfo(Locale, LOCALE_SDATE, Symbol)
End Sub
'----------------------------------------------------------------
"Alex St-Pierre" a écrit dans le message de news:
Bonjour,
J'ai un programme excel servant à produire un relevé Word. Le relevé peut
être généré dans 2 langues (français ou anglais). Si l'utiliser choisit
l'anglais et que ses settings régionaux sont en français, j'aimerais aller
changer les settings régionaux pour les mettrent en anglais (anglais). Cela
permet d'avoir les dates et nombre au bon format (12,345,789.12). Je me
demande si c'est possible car je trouve cette solution très simple.
Merci!
Alex
--
Alex St-Pierre
Si cela ne fonctionne pas comme tu le souhaites,
tu peux utiliser ces lignes de code... Ce code doit
être lancé à partir de l'interface de la feuille de calcul.
Ces lignes la fenêtre du panneau de configuration où
il est possible de modifier ou d'ajouter une langue !
Ceci testé sous windows xp pro.
'-----------------------------
Sub test()
Dim Cmdl As String
Cmdl = "rundll32.exe shell32.dll,Control_RunDLL intl.cpl" + ",,5"
SendKeys "+{TAB}" & "{RIGHT}" & "%{D}"
Shell Cmdl$, vbNormalFocus
End Sub
'-----------------------------
"Alex St-Pierre" <AlexStPierre@discussions.microsoft.com> a écrit dans le message de news:
BB3ABEEE-72C7-4891-B83D-28FA89136AD3@microsoft.com...
Bonjour!
Quand je change de langue (de Français(Canada) à Anglais(Canada), seulement
le paramètre "LOCALE_IDEFAULTLANGUAGE" change de 1009 (anglais) à 0c0c
(français). J'utilise la macro suivante:
MsgBox "A " & GetInfo(LOCALE_IDEFAULTCODEPAGE) _
& ", B" & GetInfo(LOCALE_IDEFAULTCOUNTRY) & "," _
& vbCrLf & "C " & _
GetInfo(LOCALE_IDEFAULTLANGUAGE)
Quand j'essais de modifier la langue, rien ne fonctionne.
Sub Test()
Dim Symbol As String
Dim iRet As Long
Dim Locale As Long
Locale = GetUserDefaultLCID() 'Get user Locale ID
Symbol = "1009" ' ou "0c0c"
Call SetLocaleInfo(Locale, LOCALE_IDEFAULTLANGUAGE, Symbol)
End Sub
Est-ce que quelqu'un a une idée?
Merci!
Alex
--
Alex St-Pierre
"MichDenis" wrote:
A ) Je n'ai pas l'intention de tester chacun des éléments du panneau de configuration !
Dans le cas de l'item "langue"... pour obtenir la langue désirée, je suppose que tu
devras modifier ces 3 items : (je n'ai pas testé...)
Public Const LOCALE_IDEFAULTCODEPAGE = &HB
Public Const LOCALE_IDEFAULTCOUNTRY = &HA
Public Const LOCALE_IDEFAULTLANGUAGE = &H9
Pour les code "page" et "country", va voir là :
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/country.mspx?mfr=true
"Alex St-Pierre" <AlexStPierre@discussions.microsoft.com> a écrit dans le message de news:
DF3AE7E4-B268-42A9-8E52-585F76824619@microsoft.com...
Bonjour!
J'ai essayé le programme Set_locale mais cela ne semble pas fonctionner. Si
je met le Symbol = "English" dans le programme suivant, ça ne fonctionne pas.
Je me demande comment je faire varier dans "Panneau config/Options
régionales/onglet:"Options régionales"/"Standards et formats" de
A)Français(Canada) à B) Anglais(Canada). Les settings peuvent s'appliquer à
l'ensemble de windows puisque Word doit utiliser les mêmes formats qu'Excel.
Public Sub Set_locale() 'Change the regional setting
Dim Symbol As String
Dim iRet As Long
Dim Locale As Long
Locale = GetUserDefaultLCID() 'Get user Locale ID
Symbol = "English"
iRet = SetLocaleInfo(Locale, LOCALE_SENGLANGUAGE, Symbol)
End Sub
Pour ce qui est du chef à quatre plumes, son programme fonctionne bien mais
il ne donne pas ses clés! Enfin, comme le programme sur lequel je travail va
être utilisé par bcp de personnes (50 et plus), je pense que le fait qu'il
n'y ait qu'un seul fichier excel et que l'utilisateur n'ait pas à manipuler
les settings est un gros avantage.
Merci!
Alex
--
Alex St-Pierre
"MichDenis" wrote:
Il y a ceci :
'---------------------------------------------------------
'These declarations are designed
'for use in a .bas module
'since the constants are public
'Déclaration API dans le haut d'un module standard :
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
Declare Function SetLocaleInfo Lib "kernel32" Alias _
"SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, _
ByVal lpLCData As String) As Boolean
Declare Function GetUserDefaultLCID% Lib "kernel32" ()
Public Const LOCALE_ICENTURY = &H24
Public Const LOCALE_ICOUNTRY = &H5
Public Const LOCALE_ICURRDIGITS = &H19
Public Const LOCALE_ICURRENCY = &H1B
Public Const LOCALE_IDATE = &H21
Public Const LOCALE_IDAYLZERO = &H26
Public Const LOCALE_IDEFAULTCODEPAGE = &HB
Public Const LOCALE_IDEFAULTCOUNTRY = &HA
Public Const LOCALE_IDEFAULTLANGUAGE = &H9
Public Const LOCALE_IDIGITS = &H11
Public Const LOCALE_IINTLCURRDIGITS = &H1A
Public Const LOCALE_ILANGUAGE = &H1
Public Const LOCALE_ILDATE = &H22
Public Const LOCALE_ILZERO = &H12
Public Const LOCALE_IMEASURE = &HD
Public Const LOCALE_IMONLZERO = &H27
Public Const LOCALE_INEGCURR = &H1C
Public Const LOCALE_INEGSEPBYSPACE = &H57
Public Const LOCALE_INEGSIGNPOSN = &H53
Public Const LOCALE_INEGSYMPRECEDES = &H56
Public Const LOCALE_IPOSSEPBYSPACE = &H55
Public Const LOCALE_IPOSSIGNPOSN = &H52
Public Const LOCALE_IPOSSYMPRECEDES = &H54
Public Const LOCALE_ITIME = &H23
Public Const LOCALE_ITLZERO = &H25
Public Const LOCALE_NOUSEROVERRIDE = &H80000000
Public Const LOCALE_S1159 = &H28
Public Const LOCALE_S2359 = &H29
Public Const LOCALE_SABBREVCTRYNAME = &H7
Public Const LOCALE_SABBREVDAYNAME1 = &H31
Public Const LOCALE_SABBREVDAYNAME2 = &H32
Public Const LOCALE_SABBREVDAYNAME3 = &H33
Public Const LOCALE_SABBREVDAYNAME4 = &H34
Public Const LOCALE_SABBREVDAYNAME5 = &H35
Public Const LOCALE_SABBREVDAYNAME6 = &H36
Public Const LOCALE_SABBREVDAYNAME7 = &H37
Public Const LOCALE_SABBREVLANGNAME = &H3
Public Const LOCALE_SABBREVMONTHNAME1 = &H44
Public Const LOCALE_SCOUNTRY = &H6
Public Const LOCALE_SCURRENCY = &H14
Public Const LOCALE_SDATE = &H1D
Public Const LOCALE_SDAYNAME1 = &H2A
Public Const LOCALE_SDAYNAME2 = &H2B
Public Const LOCALE_SDAYNAME3 = &H2C
Public Const LOCALE_SDAYNAME4 = &H2D
Public Const LOCALE_SDAYNAME5 = &H2E
Public Const LOCALE_SDAYNAME6 = &H2F
Public Const LOCALE_SDAYNAME7 = &H30
Public Const LOCALE_SDECIMAL = &HE
Public Const LOCALE_SENGCOUNTRY = &H1002
Public Const LOCALE_SENGLANGUAGE = &H1001
Public Const LOCALE_SGROUPING = &H10
Public Const LOCALE_SINTLSYMBOL = &H15
Public Const LOCALE_SLANGUAGE = &H2
Public Const LOCALE_SLIST = &HC
Public Const LOCALE_SLONGDATE = &H20
Public Const LOCALE_SMONDECIMALSEP = &H16
Public Const LOCALE_SMONGROUPING = &H18
Public Const LOCALE_SMONTHNAME1 = &H38
Public Const LOCALE_SMONTHNAME10 = &H41
Public Const LOCALE_SMONTHNAME11 = &H42
Public Const LOCALE_SMONTHNAME12 = &H43
Public Const LOCALE_SMONTHNAME2 = &H39
Public Const LOCALE_SMONTHNAME3 = &H3A
Public Const LOCALE_SMONTHNAME4 = &H3B
Public Const LOCALE_SMONTHNAME5 = &H3C
Public Const LOCALE_SMONTHNAME6 = &H3D
Public Const LOCALE_SMONTHNAME7 = &H3E
Public Const LOCALE_SMONTHNAME8 = &H3F
Public Const LOCALE_SMONTHNAME9 = &H40
Public Const LOCALE_SMONTHOUSANDSEP = &H17
Public Const LOCALE_SNATIVECTRYNAME = &H8
Public Const LOCALE_SNATIVEDIGITS = &H13
Public Const LOCALE_SNATIVELANGNAME = &H4
Public Const LOCALE_SNEGATIVESIGN = &H51
Public Const LOCALE_SPOSITIVESIGN = &H50
Public Const LOCALE_SSHORTDATE = &H1F
Public Const LOCALE_STHOUSAND = &HF
Public Const LOCALE_STIME = &H1E
Public Const LOCALE_STIMEFORMAT = &H1003
Public Sub Get_locale() ' Retrieve the regional setting
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim Pos As Integer
Dim Locale As Long
Locale = GetUserDefaultLCID()
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale symbol being requested as a parameter
iRet1 = GetLocaleInfo(Locale, LOCALE_SDATE, _
lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(Locale, LOCALE_SDATE, Symbol, iRet1)
Pos = InStr(Symbol, Chr$(0))
If Pos > 0 Then
Symbol = Left$(Symbol, Pos - 1)
MsgBox "Regional Setting = " + Symbol
End If
End Sub
Public Sub Set_locale() 'Change the regional setting
Dim Symbol As String
Dim iRet As Long
Dim Locale As Long
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale information being set as a parameter
Locale = GetUserDefaultLCID() 'Get user Locale ID
Symbol = "/" 'New character for the locale
iRet = SetLocaleInfo(Locale, LOCALE_SDATE, Symbol)
End Sub
'----------------------------------------------------------------
"Alex St-Pierre" <AlexStPierre@discussions.microsoft.com> a écrit dans le message de news:
A6DC9AA0-AE97-431C-8D9C-C91A718DC9A7@microsoft.com...
Bonjour,
J'ai un programme excel servant à produire un relevé Word. Le relevé peut
être généré dans 2 langues (français ou anglais). Si l'utiliser choisit
l'anglais et que ses settings régionaux sont en français, j'aimerais aller
changer les settings régionaux pour les mettrent en anglais (anglais). Cela
permet d'avoir les dates et nombre au bon format (12,345,789.12). Je me
demande si c'est possible car je trouve cette solution très simple.
Merci!
Alex
--
Alex St-Pierre
Si cela ne fonctionne pas comme tu le souhaites,
tu peux utiliser ces lignes de code... Ce code doit
être lancé à partir de l'interface de la feuille de calcul.
Ces lignes la fenêtre du panneau de configuration où
il est possible de modifier ou d'ajouter une langue !
Ceci testé sous windows xp pro.
'-----------------------------
Sub test()
Dim Cmdl As String
Cmdl = "rundll32.exe shell32.dll,Control_RunDLL intl.cpl" + ",,5"
SendKeys "+{TAB}" & "{RIGHT}" & "%{D}"
Shell Cmdl$, vbNormalFocus
End Sub
'-----------------------------
"Alex St-Pierre" a écrit dans le message de news:
Bonjour!
Quand je change de langue (de Français(Canada) à Anglais(Canada), seulement
le paramètre "LOCALE_IDEFAULTLANGUAGE" change de 1009 (anglais) à 0c0c
(français). J'utilise la macro suivante:
MsgBox "A " & GetInfo(LOCALE_IDEFAULTCODEPAGE) _
& ", B" & GetInfo(LOCALE_IDEFAULTCOUNTRY) & "," _
& vbCrLf & "C " & _
GetInfo(LOCALE_IDEFAULTLANGUAGE)
Quand j'essais de modifier la langue, rien ne fonctionne.
Sub Test()
Dim Symbol As String
Dim iRet As Long
Dim Locale As Long
Locale = GetUserDefaultLCID() 'Get user Locale ID
Symbol = "1009" ' ou "0c0c"
Call SetLocaleInfo(Locale, LOCALE_IDEFAULTLANGUAGE, Symbol)
End Sub
Est-ce que quelqu'un a une idée?
Merci!
Alex
--
Alex St-Pierre
"MichDenis" wrote:A ) Je n'ai pas l'intention de tester chacun des éléments du panneau de configuration !
Dans le cas de l'item "langue"... pour obtenir la langue désirée, je suppose que tu
devras modifier ces 3 items : (je n'ai pas testé...)
Public Const LOCALE_IDEFAULTCODEPAGE = &HB
Public Const LOCALE_IDEFAULTCOUNTRY = &HA
Public Const LOCALE_IDEFAULTLANGUAGE = &H9
Pour les code "page" et "country", va voir là :
http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/country.mspx?mfr=true
"Alex St-Pierre" a écrit dans le message de news:
Bonjour!
J'ai essayé le programme Set_locale mais cela ne semble pas fonctionner. Si
je met le Symbol = "English" dans le programme suivant, ça ne fonctionne pas.
Je me demande comment je faire varier dans "Panneau config/Options
régionales/onglet:"Options régionales"/"Standards et formats" de
A)Français(Canada) à B) Anglais(Canada). Les settings peuvent s'appliquer à
l'ensemble de windows puisque Word doit utiliser les mêmes formats qu'Excel.
Public Sub Set_locale() 'Change the regional setting
Dim Symbol As String
Dim iRet As Long
Dim Locale As Long
Locale = GetUserDefaultLCID() 'Get user Locale ID
Symbol = "English"
iRet = SetLocaleInfo(Locale, LOCALE_SENGLANGUAGE, Symbol)
End Sub
Pour ce qui est du chef à quatre plumes, son programme fonctionne bien mais
il ne donne pas ses clés! Enfin, comme le programme sur lequel je travail va
être utilisé par bcp de personnes (50 et plus), je pense que le fait qu'il
n'y ait qu'un seul fichier excel et que l'utilisateur n'ait pas à manipuler
les settings est un gros avantage.
Merci!
Alex
--
Alex St-Pierre
"MichDenis" wrote:Il y a ceci :
'---------------------------------------------------------
'These declarations are designed
'for use in a .bas module
'since the constants are public
'Déclaration API dans le haut d'un module standard :
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
Declare Function SetLocaleInfo Lib "kernel32" Alias _
"SetLocaleInfoA" (ByVal Locale As Long, ByVal LCType As Long, _
ByVal lpLCData As String) As Boolean
Declare Function GetUserDefaultLCID% Lib "kernel32" ()
Public Const LOCALE_ICENTURY = &H24
Public Const LOCALE_ICOUNTRY = &H5
Public Const LOCALE_ICURRDIGITS = &H19
Public Const LOCALE_ICURRENCY = &H1B
Public Const LOCALE_IDATE = &H21
Public Const LOCALE_IDAYLZERO = &H26
Public Const LOCALE_IDEFAULTCODEPAGE = &HB
Public Const LOCALE_IDEFAULTCOUNTRY = &HA
Public Const LOCALE_IDEFAULTLANGUAGE = &H9
Public Const LOCALE_IDIGITS = &H11
Public Const LOCALE_IINTLCURRDIGITS = &H1A
Public Const LOCALE_ILANGUAGE = &H1
Public Const LOCALE_ILDATE = &H22
Public Const LOCALE_ILZERO = &H12
Public Const LOCALE_IMEASURE = &HD
Public Const LOCALE_IMONLZERO = &H27
Public Const LOCALE_INEGCURR = &H1C
Public Const LOCALE_INEGSEPBYSPACE = &H57
Public Const LOCALE_INEGSIGNPOSN = &H53
Public Const LOCALE_INEGSYMPRECEDES = &H56
Public Const LOCALE_IPOSSEPBYSPACE = &H55
Public Const LOCALE_IPOSSIGNPOSN = &H52
Public Const LOCALE_IPOSSYMPRECEDES = &H54
Public Const LOCALE_ITIME = &H23
Public Const LOCALE_ITLZERO = &H25
Public Const LOCALE_NOUSEROVERRIDE = &H80000000
Public Const LOCALE_S1159 = &H28
Public Const LOCALE_S2359 = &H29
Public Const LOCALE_SABBREVCTRYNAME = &H7
Public Const LOCALE_SABBREVDAYNAME1 = &H31
Public Const LOCALE_SABBREVDAYNAME2 = &H32
Public Const LOCALE_SABBREVDAYNAME3 = &H33
Public Const LOCALE_SABBREVDAYNAME4 = &H34
Public Const LOCALE_SABBREVDAYNAME5 = &H35
Public Const LOCALE_SABBREVDAYNAME6 = &H36
Public Const LOCALE_SABBREVDAYNAME7 = &H37
Public Const LOCALE_SABBREVLANGNAME = &H3
Public Const LOCALE_SABBREVMONTHNAME1 = &H44
Public Const LOCALE_SCOUNTRY = &H6
Public Const LOCALE_SCURRENCY = &H14
Public Const LOCALE_SDATE = &H1D
Public Const LOCALE_SDAYNAME1 = &H2A
Public Const LOCALE_SDAYNAME2 = &H2B
Public Const LOCALE_SDAYNAME3 = &H2C
Public Const LOCALE_SDAYNAME4 = &H2D
Public Const LOCALE_SDAYNAME5 = &H2E
Public Const LOCALE_SDAYNAME6 = &H2F
Public Const LOCALE_SDAYNAME7 = &H30
Public Const LOCALE_SDECIMAL = &HE
Public Const LOCALE_SENGCOUNTRY = &H1002
Public Const LOCALE_SENGLANGUAGE = &H1001
Public Const LOCALE_SGROUPING = &H10
Public Const LOCALE_SINTLSYMBOL = &H15
Public Const LOCALE_SLANGUAGE = &H2
Public Const LOCALE_SLIST = &HC
Public Const LOCALE_SLONGDATE = &H20
Public Const LOCALE_SMONDECIMALSEP = &H16
Public Const LOCALE_SMONGROUPING = &H18
Public Const LOCALE_SMONTHNAME1 = &H38
Public Const LOCALE_SMONTHNAME10 = &H41
Public Const LOCALE_SMONTHNAME11 = &H42
Public Const LOCALE_SMONTHNAME12 = &H43
Public Const LOCALE_SMONTHNAME2 = &H39
Public Const LOCALE_SMONTHNAME3 = &H3A
Public Const LOCALE_SMONTHNAME4 = &H3B
Public Const LOCALE_SMONTHNAME5 = &H3C
Public Const LOCALE_SMONTHNAME6 = &H3D
Public Const LOCALE_SMONTHNAME7 = &H3E
Public Const LOCALE_SMONTHNAME8 = &H3F
Public Const LOCALE_SMONTHNAME9 = &H40
Public Const LOCALE_SMONTHOUSANDSEP = &H17
Public Const LOCALE_SNATIVECTRYNAME = &H8
Public Const LOCALE_SNATIVEDIGITS = &H13
Public Const LOCALE_SNATIVELANGNAME = &H4
Public Const LOCALE_SNEGATIVESIGN = &H51
Public Const LOCALE_SPOSITIVESIGN = &H50
Public Const LOCALE_SSHORTDATE = &H1F
Public Const LOCALE_STHOUSAND = &HF
Public Const LOCALE_STIME = &H1E
Public Const LOCALE_STIMEFORMAT = &H1003
Public Sub Get_locale() ' Retrieve the regional setting
Dim Symbol As String
Dim iRet1 As Long
Dim iRet2 As Long
Dim lpLCDataVar As String
Dim Pos As Integer
Dim Locale As Long
Locale = GetUserDefaultLCID()
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale symbol being requested as a parameter
iRet1 = GetLocaleInfo(Locale, LOCALE_SDATE, _
lpLCDataVar, 0)
Symbol = String$(iRet1, 0)
iRet2 = GetLocaleInfo(Locale, LOCALE_SDATE, Symbol, iRet1)
Pos = InStr(Symbol, Chr$(0))
If Pos > 0 Then
Symbol = Left$(Symbol, Pos - 1)
MsgBox "Regional Setting = " + Symbol
End If
End Sub
Public Sub Set_locale() 'Change the regional setting
Dim Symbol As String
Dim iRet As Long
Dim Locale As Long
'LOCALE_SDATE is the constant for the date separator
'as stated in declarations
'for any other locale setting just change the constant
'Function can also be re-written to take the
'locale information being set as a parameter
Locale = GetUserDefaultLCID() 'Get user Locale ID
Symbol = "/" 'New character for the locale
iRet = SetLocaleInfo(Locale, LOCALE_SDATE, Symbol)
End Sub
'----------------------------------------------------------------
"Alex St-Pierre" a écrit dans le message de news:
Bonjour,
J'ai un programme excel servant à produire un relevé Word. Le relevé peut
être généré dans 2 langues (français ou anglais). Si l'utiliser choisit
l'anglais et que ses settings régionaux sont en français, j'aimerais aller
changer les settings régionaux pour les mettrent en anglais (anglais). Cela
permet d'avoir les dates et nombre au bon format (12,345,789.12). Je me
demande si c'est possible car je trouve cette solution très simple.
Merci!
Alex
--
Alex St-Pierre
| En fait, c'est le premier onglet "Options régionales" que je voudrais modifier.
Essaie ceci :
Sub test()
Dim Cmdl As String
Cmdl = "rundll32.exe shell32.dll,Control_RunDLL intl.cpl" + ",,5"
Shell Cmdl$, vbNormalFocus
End Sub
| En fait, c'est le premier onglet "Options régionales" que je voudrais modifier.
Essaie ceci :
Sub test()
Dim Cmdl As String
Cmdl = "rundll32.exe shell32.dll,Control_RunDLL intl.cpl" + ",,5"
Shell Cmdl$, vbNormalFocus
End Sub
| En fait, c'est le premier onglet "Options régionales" que je voudrais modifier.
Essaie ceci :
Sub test()
Dim Cmdl As String
Cmdl = "rundll32.exe shell32.dll,Control_RunDLL intl.cpl" + ",,5"
Shell Cmdl$, vbNormalFocus
End Sub