Afficher un . au lieu de la ,

T

trashouille

Guest
Bonjour,
j'aimerais savoir si quelqu'un sait comment afficher un . comme séparateur de décimal sans modifier les "options régionales" de windows?
J'ai essayé dans "Données"->"Convertir" mais j'ai pas tout compris et/ou ça marche pas.
J'ai aussi essayé "Edition"->"Remplacer" , en . : ca marche mais ca ne marche pas quand je l'exécute via VBA

Merci
 
T

trashouille

Guest
finalement j'ai trouvé une API qui le fait :

Attribute VB_Name = "LocaleInfo"

Declare Function SetLocaleInfo Lib "kernel32" Alias "SetLocaleInfoA" _
(ByVal Locale As Long, ByVal LCType As Long, ByVal lpLCData As String) As Boolean

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

'renvoie le séparateur décimal du système
Function SysSepDec() As String
Dim Sep As String * 2
GetLocaleInfo 0, &H16, Sep, 2
SysSepDec = Left$(Sep, 1)
End Function

'change le séparateur décimal pour "Nouveau"
Sub ChangeSepDec(Nouveau As String)
'séparateur décimal
SetLocaleInfo 0, &HE, Nouveau
'séparateur décimal monétaire
SetLocaleInfo 0, &H16, Nouveau
'le séparateur du système a bien été changé mais Excel n'est pas mis à jour...
If MsgBox("Le changement de séparateur décimal du système nécessite" & vbLf & _
"qu'Excel soit fermé puis relancé pour être pris en compte." & _
vbLf & "Fermer maintenant ?", vbYesNo) = vbYes Then Application.Quit
End Sub

Sub test()
ChangeSepDec ","
End Sub

sinon pour récupérer les infos, il faut utiliser GetLocaleInfo
 
A

andré

Guest
Salut,

Il ya aussi la Correction automatique (sous Outils) qui peut te remplacer les , (virgules) par des . (points).
Mais cela ne fonctionne qu'au moment de la frappe.
Ni le correcteur d'orthographe, ni un copier/coller ne modifie les , en .

Ou bien par Edition / Remplacer.

Ândré.
 

Discussions similaires

Réponses
2
Affichages
317
Réponses
9
Affichages
523

Statistiques des forums

Discussions
312 445
Messages
2 088 488
Membres
103 869
dernier inscrit
benji_270