cuq
Messages postés345Date d'inscriptionmardi 3 juin 2003StatutMembreDernière intervention21 mars 2008
-
6 avril 2006 à 12:25
cs_Radwane37
Messages postés10Date d'inscriptionlundi 6 novembre 2006StatutMembreDernière intervention20 avril 2009
-
18 sept. 2007 à 09:52
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
cs_Radwane37
Messages postés10Date d'inscriptionlundi 6 novembre 2006StatutMembreDernière intervention20 avril 2009 18 sept. 2007 à 09:52
Salut,
Je n'arrive pas à changer la langue du système. Je voudrais la mettre en anglais us.
J'arrive à changer la "," par un ".", mais pas la langue.
Voila ce que je mets :
'-------------DEBUT---------
Dim str As String
Dim a As Boolean
'enu --> us
'fra --> fr
'pour voir quelle est la langue
str = Module2.GetUserLocaleInfo(LOCALE_SABBREVLANGNAME)
MsgBox (str)
'pour la changer en anglais us
a = Module2.SetUserLocaleInfo(LOCALE_SABBREVLANGNAME, "ENU")
'pour voir quelle est la langue
str = Module2.GetUserLocaleInfo(LOCALE_SABBREVLANGNAME)
MsgBox (str)
'-----------FIN----------------
Quelqu'un peut m'aider svp?
Merci
cs_Radwane37
Messages postés10Date d'inscriptionlundi 6 novembre 2006StatutMembreDernière intervention20 avril 2009 18 sept. 2007 à 09:46
Super ton code. Il m'a bien aidé car j'ai des problèmes entre les version d'excel en fr et en us.
Merci
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 8 août 2007 à 15:30
et quand je dis TOUS les éléments ....
Private Sub Timer1_Timer()
'# On place le nom du pays dans le label
Label1.Caption = GetUserLocaleInfo(LOCALE_SCOUNTRY)
End Sub
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 8 août 2007 à 06:21
pourquoi vouloir les modifier, c0pyright ?
Sinistrus, tu as, me semble, tous les elements necessaires dans cette source pour réaliser ce que tu souhaite.
néanmoins, utiliser un Timer serait contre-performant.
Note: When an application calls this function for an international change to system parameters, it should broadcast the WM_SETTINGCHANGE message to inform other applications. If this is not done, SetLocaleInfo can make unexpected changes to system settings.
en clair, suffit d'attendre WM_SETTINGCHANGE pour être avertit d'un changement de parametres (langue, dans ton cas)
Sinsitrus
Messages postés849Date d'inscriptionsamedi 11 juin 2005StatutMembreDernière intervention21 août 2015 8 août 2007 à 01:54
J'aurai souhaiter un label qui affiche la langue en cours depuis un timer :s j'y arrive :'(
c0pyright
Messages postés14Date d'inscriptionjeudi 10 août 2006StatutMembreDernière intervention 5 mai 2008 2 oct. 2006 à 14:13
moi je n'ai pas noté, mais j'ai une remarque a faire au sujet de la source :
Le code est propre et bien commenté mais un probleme se pose lorsque tu vx modifier certains parametres comme le code pays , le pays, la langue, son code..... ezt plein de chose
Salut! Source très pratique pour gérer le séparateur de décimal. Et ta source est très bien commentée. Ca m'a bien servi.
10/10
ellieopossum
Messages postés1Date d'inscriptionjeudi 22 juin 2006StatutMembreDernière intervention22 juin 2006 22 juin 2006 à 14:47
Merci ! Ca me dépanne bien. Cela faisait un moment que je cherchais qqch pour gérer facilement le format de date.
Simple et efficace.
Idem que le commentaire précédent : 10/10 !
yan35
Messages postés185Date d'inscriptiondimanche 29 juin 2003StatutMembreDernière intervention20 juin 2013 21 juin 2006 à 10:45
Merci, C'est bien pratique !
Jusqu'ici je montais 1 usine à gaz pour lire la BdR quand j'avais besoin de ces infos.
Avec ton info de ces API, je vais économiser bien des lignes de code ....je mets 10/10.
Sechaud
Messages postés288Date d'inscriptionjeudi 28 octobre 2004StatutMembreDernière intervention 3 janvier 2017 7 avril 2006 à 14:15
Finalement j'ai fait:
Private Sub Form_Load()
Combo1.AddItem "Symbole Monétaire Régional"
Combo1.AddItem "Symbole Monétaire International"
Combo1.AddItem "Nom Anglais de la Devise"
Combo1.AddItem "Nom natif de la Devise"
Combo1.AddItem "Identifiant de la langue"
Combo1.AddItem "Nom complet de la langue en cours"
Combo1.AddItem "Nom de la Langue native"
Combo1.AddItem "Code du Pays"
Combo1.AddItem "Nom du Pays"
Combo1.AddItem "Nom du Pays en Anglais"
Combo1.AddItem "Nom du Pays abbrégé"
Combo1.AddItem "Nom du Pays d'origine"
Combo1.AddItem "Code Langue par défaut"
Combo1.AddItem "Code du Pays par défaut"
Combo1.AddItem "Code Page"
Combo1.AddItem "Séparateur décimal monétaire"
Combo1.AddItem "Séparateur de millier monétaire"
Combo1.AddItem "Groupement monétaire"
Combo1.AddItem "local monetary digits"
Combo1.AddItem "intl monetary digits"
Combo1.AddItem "positive currency mode"
Combo1.AddItem "negative currency mode"
Combo1.AddItem "Séparateur décimal numérique"
Combo1.AddItem "Séparateur de millier numérique"
Combo1.AddItem "Séparateur de date"
Combo1.AddItem "Séparateur de l'heure"
Combo1.AddItem "Format Date Court (ex: dd/MM/yy)"
Combo1.AddItem "Format Date Long (ex: dd/MM/yyyy)"
Combo1.AddItem "Format de l'heure"
Combo1.AddItem "Affichage Date Courte => 0: M-D-Y; 1: D-M-Y; 2: Y-M-D"
Combo1.AddItem "Affichage Date Longue => 0: M-D-Y; 1: D-M-Y; 2: Y-M-D"
Combo1.AddItem "Format de l'heure spécifique => 0: AM/PM; 1: 24H"
Combo1.AddItem "Format du siècle spécifique => 0: 2 digits; 1: 4 digits"
Combo1.AddItem "Zéro spécifique pour l'heure => 0: Non; 1: Oui"
Combo1.AddItem "Zéro spécifique pour le jour => 0: Non; 1: Oui"
Combo1.AddItem "Zéro spécifique pour le mois => 0: non; 1: Oui"
Combo1.AddItem "Chaîne remplaçant la chaîne AM"
Combo1.AddItem "Chaîne remplaçant la c"
Combo1.ListIndex = "0"
End Sub
Private Sub Command1_Click() 'Lire un paramètre
Dim P As Long
If Combo1.Text "Symbole Monétaire Régional" Then P &H14
If Combo1.Text "Symbole Monétaire International" Then P &H15
If Combo1.Text "Nom Anglais de la Devise" Then P &H1007
If Combo1.Text "Nom natif de la Devise" Then P &H1008
If Combo1.Text "Identifiant de la langue" Then P &H1
If Combo1.Text "Nom complet de la langue en cours" Then P &H2
If Combo1.Text "Nom de la Langue native" Then P &H1001
If Combo1.Text "Code du Pays" Then P &H5
If Combo1.Text "Nom du Pays" Then P &H6
If Combo1.Text "Nom du Pays en Anglais" Then P &H1002
If Combo1.Text "Nom du Pays abbrégé" Then P &H7
If Combo1.Text "Nom du Pays d'origine" Then P &H8
If Combo1.Text "Code Langue par défaut" Then P &H9
If Combo1.Text "Code du Pays par défaut" Then P &HA
If Combo1.Text "Code Page" Then P &HB
If Combo1.Text "Séparateur décimal monétaire" Then P &H16
If Combo1.Text "Séparateur de millier monétaire" Then P &H17
If Combo1.Text "Groupement monétaire" Then P &H18
If Combo1.Text "local monetary digits" Then P &H19
If Combo1.Text "intl monetary digits" Then P &H1A
If Combo1.Text "positive currency mode" Then P &H1B
If Combo1.Text "negative currency mode" Then P &H1C
If Combo1.Text "Séparateur décimal numérique" Then P &HE
If Combo1.Text "Séparateur de millier numérique" Then P &HF
If Combo1.Text "Séparateur de date" Then P &H1D
If Combo1.Text "Séparateur de l'heure" Then P &H1E
If Combo1.Text "Format Date Court (ex: dd/MM/yy)" Then P &H1F
If Combo1.Text "Format Date Long (ex: dd/MM/yyyy)" Then P &H20
If Combo1.Text "Format de l'heure" Then P &H1003
If Combo1.Text "Affichage Date Courte> 0: M-D-Y; 1: D-M-Y; 2: Y-M-D" Then P = &H21
If Combo1.Text "Affichage Date Longue> 0: M-D-Y; 1: D-M-Y; 2: Y-M-D" Then P = &H22
If Combo1.Text "Format de l'heure spécifique> 0: AM/PM; 1: 24H" Then P = &H23
If Combo1.Text "Format du siècle spécifique> 0: 2 digits; 1: 4 digits" Then P = &H24
If Combo1.Text "Zéro spécifique pour l'heure> 0: Non; 1: Oui" Then P = &H25
If Combo1.Text "Zéro spécifique pour le jour> 0: Non; 1: Oui" Then P = &H26
If Combo1.Text "Zéro spécifique pour le mois> 0: non; 1: Oui" Then P = &H27
If Combo1.Text "Chaîne remplaçant la chaîne AM" Then P &H28
If Combo1.Text "Chaîne remplaçant la chaîne PM" Then P &H29
Text1.Text = GetUserLocaleInfo(P)
End Sub
Tout marche bien et en plus, on lit en clair dans la Combo, le paramètre examiné.
Merci pour l'aide.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 7 avril 2006 à 14:09
ce que je veux dire c'est que tu pourrais faire directement GetUserDefaultLCID
sans mettre en place ta fonction, IniLocaleID...
gigiou
Messages postés9Date d'inscriptionvendredi 25 octobre 2002StatutMembreDernière intervention 7 avril 2006 7 avril 2006 à 13:47
Dans mon programme je n'ai besoin de modifier que les paramètres régionnaux de l'utilisateur et non pas ceux du système.
Pour modifier ceux du système il suffit de mettre :
lLocaleID = IniLocaleID("SYSTEM")
Bonne prog et heureux de vous rendre service ...
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 7 avril 2006 à 13:35
par contre, gigiou, je n'ai pas saisi l'utilité de IniLocaleID...
tu n'utilises en effet que les données 'USER'...
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 7 avril 2006 à 13:34
il est aussi possible d'utiliser :
Public Function GetLocalCodeFromName(ByRef vsCodeName As String) As LOCALEConstants
Select Case vsCodeName
Case "LOCALE_ICENTURY": GetLocalCodeFromName = LOCALE_ICENTURY
Case "LOCALE_ICOUNTRY": GetLocalCodeFromName = LOCALE_ICOUNTRY
Case "LOCALE_ICURRDIGITS": GetLocalCodeFromName = LOCALE_ICURRDIGITS
Case "LOCALE_ICURRENCY": GetLocalCodeFromName = LOCALE_ICURRENCY
Case "LOCALE_IDATE": GetLocalCodeFromName = LOCALE_IDATE
Case "LOCALE_IDAYLZERO": GetLocalCodeFromName = LOCALE_IDAYLZERO
Case "LOCALE_IDEFAULTCODEPAGE": GetLocalCodeFromName = LOCALE_IDEFAULTCODEPAGE
Case "LOCALE_IDEFAULTCOUNTRY": GetLocalCodeFromName = LOCALE_IDEFAULTCOUNTRY
Case "LOCALE_IDEFAULTLANGUAGE": GetLocalCodeFromName = LOCALE_IDEFAULTLANGUAGE
Case "LOCALE_IINTLCURRDIGITS": GetLocalCodeFromName = LOCALE_IINTLCURRDIGITS
Case "LOCALE_ILANGUAGE": GetLocalCodeFromName = LOCALE_ILANGUAGE
Case "LOCALE_ILDATE": GetLocalCodeFromName = LOCALE_ILDATE
Case "LOCALE_IMONLZERO": GetLocalCodeFromName = LOCALE_IMONLZERO
Case "LOCALE_INEGCURR": GetLocalCodeFromName = LOCALE_INEGCURR
Case "LOCALE_ITIME": GetLocalCodeFromName = LOCALE_ITIME
Case "LOCALE_ITLZERO": GetLocalCodeFromName = LOCALE_ITLZERO
Case "LOCALE_S1159": GetLocalCodeFromName = LOCALE_S1159
Case "LOCALE_S2359": GetLocalCodeFromName = LOCALE_S2359
Case "LOCALE_SABBREVCTRYNAME": GetLocalCodeFromName = LOCALE_SABBREVCTRYNAME
Case "LOCALE_SABBREVLANGNAME": GetLocalCodeFromName = LOCALE_SABBREVLANGNAME
Case "LOCALE_SCOUNTRY": GetLocalCodeFromName = LOCALE_SCOUNTRY
Case "LOCALE_SCURRENCY": GetLocalCodeFromName = LOCALE_SCURRENCY
Case "LOCALE_SDATE": GetLocalCodeFromName = LOCALE_SDATE
Case "LOCALE_SDECIMAL": GetLocalCodeFromName = LOCALE_SDECIMAL
Case "LOCALE_SENGCOUNTRY": GetLocalCodeFromName = LOCALE_SENGCOUNTRY
Case "LOCALE_SENGCURRNAME": GetLocalCodeFromName = LOCALE_SENGCURRNAME
Case "LOCALE_SENGLANGUAGE": GetLocalCodeFromName = LOCALE_SENGLANGUAGE
Case "LOCALE_SINTLSYMBOL": GetLocalCodeFromName = LOCALE_SINTLSYMBOL
Case "LOCALE_SLANGUAGE": GetLocalCodeFromName = LOCALE_SLANGUAGE
Case "LOCALE_SLONGDATE": GetLocalCodeFromName = LOCALE_SLONGDATE
Case "LOCALE_SMONDECIMALSEP": GetLocalCodeFromName = LOCALE_SMONDECIMALSEP
Case "LOCALE_SMONGROUPING": GetLocalCodeFromName = LOCALE_SMONGROUPING
Case "LOCALE_SMONTHOUSANDSEP": GetLocalCodeFromName = LOCALE_SMONTHOUSANDSEP
Case "LOCALE_SNATIVECTRYNAME": GetLocalCodeFromName = LOCALE_SNATIVECTRYNAME
Case "LOCALE_SNATIVECURRNAME": GetLocalCodeFromName = LOCALE_SNATIVECURRNAME
Case "LOCALE_SNATIVELANGNAME": GetLocalCodeFromName = LOCALE_SNATIVELANGNAME
Case "LOCALE_SSHORTDATE": GetLocalCodeFromName = LOCALE_SSHORTDATE
Case "LOCALE_STHOUSAND": GetLocalCodeFromName = LOCALE_STHOUSAND
Case "LOCALE_STIME": GetLocalCodeFromName = LOCALE_STIME
Case "LOCALE_STIMEFORMAT": GetLocalCodeFromName = LOCALE_STIMEFORMAT
End Select
End Function
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 7 avril 2006 à 13:18
c'est pas ma solution, ça ^^
Sechaud
Messages postés288Date d'inscriptionjeudi 28 octobre 2004StatutMembreDernière intervention 3 janvier 2017 7 avril 2006 à 12:53
Merci Renfield, effectivement ta solution fonctionne.
j'ai essayé:
Private Sub Command1_Click() 'Lire un paramètre
Dim P As Long
If Combo1.Text "LOCALE_SCURRENCY" Then P &H14
If Combo1.Text "LOCALE_SINTLSYMBOL" Then P &H15
Text1.Text = GetUserLocaleInfo(P)
End Sub
c'est bon.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 7 avril 2006 à 11:59
tu ne peux utiliser ici un String...
une solution pas trop mauvaise peut simplement etre de renseigner la propriété ItemDate de tes lignes de combo, avec la valeur de tes constantes
Sechaud
Messages postés288Date d'inscriptionjeudi 28 octobre 2004StatutMembreDernière intervention 3 janvier 2017 7 avril 2006 à 11:25
Ce code me plaît bien
J'ai voulu faire un mini programme de test:(1 TextBox,1 ComboBox et un Bouton)
Private Sub Form_Load()
Combo1.AddItem "LOCALE_SINTLSYMBOL"
Combo1.AddItem "LOCALE_SENGCURRNAME"
Combo1.AddItem "LOCALE_SNATIVECURRNAME"
Combo1.AddItem "LOCALE_ILANGUAGE"
Combo1.AddItem "LOCALE_SLANGUAGE"
Combo1.ListIndex = "0"
End Sub
Private Sub Command1_Click() 'Lire un paramètre
Dim P As Long
P = LOCALE_SINTLSYMBOL
Text1.Text = GetUserLocaleInfo(P)
End Sub
Ainsi c'est bon
Mais si on fait
P = Combo1.Text ça ne marche plus.
P = CLng(Combo1.Text) ne marche pas mieux.
Comment faire reconnaître le contenu de Combo1?
Merci à celui qui aura une solution.
metalcoder
Messages postés193Date d'inscriptionjeudi 14 février 2002StatutMembreDernière intervention25 mars 20111 6 avril 2006 à 22:18
desolé j'ai mis 4 par erreur, je voulais mettre 8...
18 sept. 2007 à 09:52
Je n'arrive pas à changer la langue du système. Je voudrais la mettre en anglais us.
J'arrive à changer la "," par un ".", mais pas la langue.
Voila ce que je mets :
'-------------DEBUT---------
Dim str As String
Dim a As Boolean
'enu --> us
'fra --> fr
'pour voir quelle est la langue
str = Module2.GetUserLocaleInfo(LOCALE_SABBREVLANGNAME)
MsgBox (str)
'pour la changer en anglais us
a = Module2.SetUserLocaleInfo(LOCALE_SABBREVLANGNAME, "ENU")
'pour voir quelle est la langue
str = Module2.GetUserLocaleInfo(LOCALE_SABBREVLANGNAME)
MsgBox (str)
'-----------FIN----------------
Quelqu'un peut m'aider svp?
Merci
18 sept. 2007 à 09:46
Merci
8 août 2007 à 15:30
Private Sub Timer1_Timer()
'# On place le nom du pays dans le label
Label1.Caption = GetUserLocaleInfo(LOCALE_SCOUNTRY)
End Sub
8 août 2007 à 06:21
Sinistrus, tu as, me semble, tous les elements necessaires dans cette source pour réaliser ce que tu souhaite.
néanmoins, utiliser un Timer serait contre-performant.
la doc nous dit :
http://msdn2.microsoft.com/en-us/library/ms776312.aspx
Note: When an application calls this function for an international change to system parameters, it should broadcast the WM_SETTINGCHANGE message to inform other applications. If this is not done, SetLocaleInfo can make unexpected changes to system settings.
en clair, suffit d'attendre WM_SETTINGCHANGE pour être avertit d'un changement de parametres (langue, dans ton cas)
8 août 2007 à 01:54
2 oct. 2006 à 14:13
Le code est propre et bien commenté mais un probleme se pose lorsque tu vx modifier certains parametres comme le code pays , le pays, la langue, son code..... ezt plein de chose
Ca marche pour les lire mais pas en "ecriture".
14 sept. 2006 à 09:08
10/10
22 juin 2006 à 14:47
Simple et efficace.
Idem que le commentaire précédent : 10/10 !
21 juin 2006 à 10:45
Jusqu'ici je montais 1 usine à gaz pour lire la BdR quand j'avais besoin de ces infos.
Avec ton info de ces API, je vais économiser bien des lignes de code ....je mets 10/10.
7 avril 2006 à 14:15
Private Sub Form_Load()
Combo1.AddItem "Symbole Monétaire Régional"
Combo1.AddItem "Symbole Monétaire International"
Combo1.AddItem "Nom Anglais de la Devise"
Combo1.AddItem "Nom natif de la Devise"
Combo1.AddItem "Identifiant de la langue"
Combo1.AddItem "Nom complet de la langue en cours"
Combo1.AddItem "Nom de la Langue native"
Combo1.AddItem "Code du Pays"
Combo1.AddItem "Nom du Pays"
Combo1.AddItem "Nom du Pays en Anglais"
Combo1.AddItem "Nom du Pays abbrégé"
Combo1.AddItem "Nom du Pays d'origine"
Combo1.AddItem "Code Langue par défaut"
Combo1.AddItem "Code du Pays par défaut"
Combo1.AddItem "Code Page"
Combo1.AddItem "Séparateur décimal monétaire"
Combo1.AddItem "Séparateur de millier monétaire"
Combo1.AddItem "Groupement monétaire"
Combo1.AddItem "local monetary digits"
Combo1.AddItem "intl monetary digits"
Combo1.AddItem "positive currency mode"
Combo1.AddItem "negative currency mode"
Combo1.AddItem "Séparateur décimal numérique"
Combo1.AddItem "Séparateur de millier numérique"
Combo1.AddItem "Séparateur de date"
Combo1.AddItem "Séparateur de l'heure"
Combo1.AddItem "Format Date Court (ex: dd/MM/yy)"
Combo1.AddItem "Format Date Long (ex: dd/MM/yyyy)"
Combo1.AddItem "Format de l'heure"
Combo1.AddItem "Affichage Date Courte => 0: M-D-Y; 1: D-M-Y; 2: Y-M-D"
Combo1.AddItem "Affichage Date Longue => 0: M-D-Y; 1: D-M-Y; 2: Y-M-D"
Combo1.AddItem "Format de l'heure spécifique => 0: AM/PM; 1: 24H"
Combo1.AddItem "Format du siècle spécifique => 0: 2 digits; 1: 4 digits"
Combo1.AddItem "Zéro spécifique pour l'heure => 0: Non; 1: Oui"
Combo1.AddItem "Zéro spécifique pour le jour => 0: Non; 1: Oui"
Combo1.AddItem "Zéro spécifique pour le mois => 0: non; 1: Oui"
Combo1.AddItem "Chaîne remplaçant la chaîne AM"
Combo1.AddItem "Chaîne remplaçant la c"
Combo1.ListIndex = "0"
End Sub
Private Sub Command1_Click() 'Lire un paramètre
Dim P As Long
If Combo1.Text "Symbole Monétaire Régional" Then P &H14
If Combo1.Text "Symbole Monétaire International" Then P &H15
If Combo1.Text "Nom Anglais de la Devise" Then P &H1007
If Combo1.Text "Nom natif de la Devise" Then P &H1008
If Combo1.Text "Identifiant de la langue" Then P &H1
If Combo1.Text "Nom complet de la langue en cours" Then P &H2
If Combo1.Text "Nom de la Langue native" Then P &H1001
If Combo1.Text "Code du Pays" Then P &H5
If Combo1.Text "Nom du Pays" Then P &H6
If Combo1.Text "Nom du Pays en Anglais" Then P &H1002
If Combo1.Text "Nom du Pays abbrégé" Then P &H7
If Combo1.Text "Nom du Pays d'origine" Then P &H8
If Combo1.Text "Code Langue par défaut" Then P &H9
If Combo1.Text "Code du Pays par défaut" Then P &HA
If Combo1.Text "Code Page" Then P &HB
If Combo1.Text "Séparateur décimal monétaire" Then P &H16
If Combo1.Text "Séparateur de millier monétaire" Then P &H17
If Combo1.Text "Groupement monétaire" Then P &H18
If Combo1.Text "local monetary digits" Then P &H19
If Combo1.Text "intl monetary digits" Then P &H1A
If Combo1.Text "positive currency mode" Then P &H1B
If Combo1.Text "negative currency mode" Then P &H1C
If Combo1.Text "Séparateur décimal numérique" Then P &HE
If Combo1.Text "Séparateur de millier numérique" Then P &HF
If Combo1.Text "Séparateur de date" Then P &H1D
If Combo1.Text "Séparateur de l'heure" Then P &H1E
If Combo1.Text "Format Date Court (ex: dd/MM/yy)" Then P &H1F
If Combo1.Text "Format Date Long (ex: dd/MM/yyyy)" Then P &H20
If Combo1.Text "Format de l'heure" Then P &H1003
If Combo1.Text "Affichage Date Courte> 0: M-D-Y; 1: D-M-Y; 2: Y-M-D" Then P = &H21
If Combo1.Text "Affichage Date Longue> 0: M-D-Y; 1: D-M-Y; 2: Y-M-D" Then P = &H22
If Combo1.Text "Format de l'heure spécifique> 0: AM/PM; 1: 24H" Then P = &H23
If Combo1.Text "Format du siècle spécifique> 0: 2 digits; 1: 4 digits" Then P = &H24
If Combo1.Text "Zéro spécifique pour l'heure> 0: Non; 1: Oui" Then P = &H25
If Combo1.Text "Zéro spécifique pour le jour> 0: Non; 1: Oui" Then P = &H26
If Combo1.Text "Zéro spécifique pour le mois> 0: non; 1: Oui" Then P = &H27
If Combo1.Text "Chaîne remplaçant la chaîne AM" Then P &H28
If Combo1.Text "Chaîne remplaçant la chaîne PM" Then P &H29
Text1.Text = GetUserLocaleInfo(P)
End Sub
Tout marche bien et en plus, on lit en clair dans la Combo, le paramètre examiné.
Merci pour l'aide.
7 avril 2006 à 14:09
sans mettre en place ta fonction, IniLocaleID...
7 avril 2006 à 13:47
Pour modifier ceux du système il suffit de mettre :
lLocaleID = IniLocaleID("SYSTEM")
Bonne prog et heureux de vous rendre service ...
7 avril 2006 à 13:35
tu n'utilises en effet que les données 'USER'...
7 avril 2006 à 13:34
Public Function GetLocalCodeFromName(ByRef vsCodeName As String) As LOCALEConstants
Select Case vsCodeName
Case "LOCALE_ICENTURY": GetLocalCodeFromName = LOCALE_ICENTURY
Case "LOCALE_ICOUNTRY": GetLocalCodeFromName = LOCALE_ICOUNTRY
Case "LOCALE_ICURRDIGITS": GetLocalCodeFromName = LOCALE_ICURRDIGITS
Case "LOCALE_ICURRENCY": GetLocalCodeFromName = LOCALE_ICURRENCY
Case "LOCALE_IDATE": GetLocalCodeFromName = LOCALE_IDATE
Case "LOCALE_IDAYLZERO": GetLocalCodeFromName = LOCALE_IDAYLZERO
Case "LOCALE_IDEFAULTCODEPAGE": GetLocalCodeFromName = LOCALE_IDEFAULTCODEPAGE
Case "LOCALE_IDEFAULTCOUNTRY": GetLocalCodeFromName = LOCALE_IDEFAULTCOUNTRY
Case "LOCALE_IDEFAULTLANGUAGE": GetLocalCodeFromName = LOCALE_IDEFAULTLANGUAGE
Case "LOCALE_IINTLCURRDIGITS": GetLocalCodeFromName = LOCALE_IINTLCURRDIGITS
Case "LOCALE_ILANGUAGE": GetLocalCodeFromName = LOCALE_ILANGUAGE
Case "LOCALE_ILDATE": GetLocalCodeFromName = LOCALE_ILDATE
Case "LOCALE_IMONLZERO": GetLocalCodeFromName = LOCALE_IMONLZERO
Case "LOCALE_INEGCURR": GetLocalCodeFromName = LOCALE_INEGCURR
Case "LOCALE_ITIME": GetLocalCodeFromName = LOCALE_ITIME
Case "LOCALE_ITLZERO": GetLocalCodeFromName = LOCALE_ITLZERO
Case "LOCALE_S1159": GetLocalCodeFromName = LOCALE_S1159
Case "LOCALE_S2359": GetLocalCodeFromName = LOCALE_S2359
Case "LOCALE_SABBREVCTRYNAME": GetLocalCodeFromName = LOCALE_SABBREVCTRYNAME
Case "LOCALE_SABBREVLANGNAME": GetLocalCodeFromName = LOCALE_SABBREVLANGNAME
Case "LOCALE_SCOUNTRY": GetLocalCodeFromName = LOCALE_SCOUNTRY
Case "LOCALE_SCURRENCY": GetLocalCodeFromName = LOCALE_SCURRENCY
Case "LOCALE_SDATE": GetLocalCodeFromName = LOCALE_SDATE
Case "LOCALE_SDECIMAL": GetLocalCodeFromName = LOCALE_SDECIMAL
Case "LOCALE_SENGCOUNTRY": GetLocalCodeFromName = LOCALE_SENGCOUNTRY
Case "LOCALE_SENGCURRNAME": GetLocalCodeFromName = LOCALE_SENGCURRNAME
Case "LOCALE_SENGLANGUAGE": GetLocalCodeFromName = LOCALE_SENGLANGUAGE
Case "LOCALE_SINTLSYMBOL": GetLocalCodeFromName = LOCALE_SINTLSYMBOL
Case "LOCALE_SLANGUAGE": GetLocalCodeFromName = LOCALE_SLANGUAGE
Case "LOCALE_SLONGDATE": GetLocalCodeFromName = LOCALE_SLONGDATE
Case "LOCALE_SMONDECIMALSEP": GetLocalCodeFromName = LOCALE_SMONDECIMALSEP
Case "LOCALE_SMONGROUPING": GetLocalCodeFromName = LOCALE_SMONGROUPING
Case "LOCALE_SMONTHOUSANDSEP": GetLocalCodeFromName = LOCALE_SMONTHOUSANDSEP
Case "LOCALE_SNATIVECTRYNAME": GetLocalCodeFromName = LOCALE_SNATIVECTRYNAME
Case "LOCALE_SNATIVECURRNAME": GetLocalCodeFromName = LOCALE_SNATIVECURRNAME
Case "LOCALE_SNATIVELANGNAME": GetLocalCodeFromName = LOCALE_SNATIVELANGNAME
Case "LOCALE_SSHORTDATE": GetLocalCodeFromName = LOCALE_SSHORTDATE
Case "LOCALE_STHOUSAND": GetLocalCodeFromName = LOCALE_STHOUSAND
Case "LOCALE_STIME": GetLocalCodeFromName = LOCALE_STIME
Case "LOCALE_STIMEFORMAT": GetLocalCodeFromName = LOCALE_STIMEFORMAT
End Select
End Function
7 avril 2006 à 13:18
7 avril 2006 à 12:53
j'ai essayé:
Private Sub Command1_Click() 'Lire un paramètre
Dim P As Long
If Combo1.Text "LOCALE_SCURRENCY" Then P &H14
If Combo1.Text "LOCALE_SINTLSYMBOL" Then P &H15
Text1.Text = GetUserLocaleInfo(P)
End Sub
c'est bon.
7 avril 2006 à 11:59
une solution pas trop mauvaise peut simplement etre de renseigner la propriété ItemDate de tes lignes de combo, avec la valeur de tes constantes
7 avril 2006 à 11:25
J'ai voulu faire un mini programme de test:(1 TextBox,1 ComboBox et un Bouton)
Private Sub Form_Load()
Combo1.AddItem "LOCALE_SINTLSYMBOL"
Combo1.AddItem "LOCALE_SENGCURRNAME"
Combo1.AddItem "LOCALE_SNATIVECURRNAME"
Combo1.AddItem "LOCALE_ILANGUAGE"
Combo1.AddItem "LOCALE_SLANGUAGE"
Combo1.ListIndex = "0"
End Sub
Private Sub Command1_Click() 'Lire un paramètre
Dim P As Long
P = LOCALE_SINTLSYMBOL
Text1.Text = GetUserLocaleInfo(P)
End Sub
Ainsi c'est bon
Mais si on fait
P = Combo1.Text ça ne marche plus.
P = CLng(Combo1.Text) ne marche pas mieux.
Comment faire reconnaître le contenu de Combo1?
Merci à celui qui aura une solution.
6 avril 2006 à 22:18
Ta source va m'etre tres pratique, j'etais effecttivement embeté avec certains de mes programmmes comme celui-ci [url]http://www.vbfrance.com/codes/LOGICIEL-FACTURATION-BOULANGERIE_36839.aspx/url
@+
6 avril 2006 à 13:20
Super je vais essayer je suis tres preneur
6 avril 2006 à 13:04
dans un enum, ca permettrais d'avoir la liste en intellisense
6 avril 2006 à 12:25