Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Problème de séparateur

  • Initiateur de la discussion Initiateur de la discussion Pierwak
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Pierwak

XLDnaute Occasionnel
Bonjour à tous,
L'appli que j'ai développée contient un champ ou les nombres doivent etre décimaux. Ce champ doit etre renseigné dans un usf. J'ai utilisé la fonction
Code:
Private Sub Txtrat_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
If KeyAscii = 44 Or KeyAscii = 46 Then
   KeyAscii = Asc(Application.International(xlDecimalSeparator))
End If
End Sub
suggérée par Thierry pour gérer les pb de séparateurs. Le problème est qu'ensuite, les données dans la feuille sont des nombres stockés au format texte, ce que je ne veux absolument pas étant donné que j'ai des calculs à faire dessus... Quelqun a t'il une idée pour contourner ce problème ??
D'avance merci a tous ceux qui prendront un moment pour me répondre.
 
Re : Problème de séparateur

Salut Pierre Jean,
Effectivement ca marche mais lorsque je rouvre ma ligne avec un double click pour faire des modifs mon nombre apparait du coup avec un point et mon test de validation me jette pcq ce textbox doit etre numérique... C un peu une histoire de fou... a titre indicatif je joins le code de mon test de validation :
Code:
With .Txtrat
    If Not IsNumeric(.Value) And Not .Value = Empty Then
    MsgBox "CB2 Rate is a numeric field, please enter a number or leave empty", vbInformation
    controlnum = False
    Exit Function
    End If
    End With
Voila donc maintenant j'arrive a faire apparaitre un virgule meme si l'utilisateur rentre un point, a bien stocker cette valeur au format nombre mais en cas de réouverture, la fonction ci dessus me dit que le nombre n'est pas un nombre car il s'affiche alors avec un "." ds l'usf alors qu'il s'affiche comme un nombre et avec une "," directement sous Excel... J'y comprend plus gd chose...
 
Re : Problème de séparateur

Re

Le textbox ne peut pas etre numerique par definition
La macro de verification doit donc aussi comprendre la fonction Cdbl() et en fait verifier que Cdbl(.Value) n'aboutit pas a une erreur
Il serait plus simple d'avoir un fichier exemple pour expliciter tout cela
 
Re : Problème de séparateur

Merci a tous, avec le Cdbl dans la fonction de validation ET dans la fonction d'écriture dans la base le pb est résolu... Encore merci à XLD... One more time...

edit : en fait le CDbl dans la fonction de validation fait bugger le programme mais il suffit d'ouvrir la ligne avec le replace proposé et ca marche...
 
Dernière édition:
Re : Problème de séparateur

Me revoila, en fait il y a un autre bug, provenant des paramètres régionaux... je m'explique : sur un PC configuré avec le "." comme séparateur, la fonction de Thierry que je donne dans mon premier post fait que le nombre s'écrit avec un "." dans la case du usf. Seulement lors du test pour vérifier que l'on a bien rentré un nombre dans la textbox, cela ne marche pas, la fonction IsNumeric semble ne pas reconnaitre "1.35" comme un nombre. Et un Cdbl(.value) ne marche pas, on obtient systématiquement une erreur... Comment faire ?? Si quelqun a une idée miracle, faites tourner...
 
Re : Problème de séparateur

merci du tip mais le problème que je rencontre actuellement n'est pas de stocker le nombre en nombre dans la feuille mais de vérifier que c'est un nombre lorsque je quite l'userform...

je joins un fichier qui montre sur un petit example le problème rencontré. Essayer de tester avec la "," ET le "." dans les paramètres (outils->options->international->separateur décimal) il faudrait que ca marche dans les deux cas...
Regarde la pièce jointe demosepPwak.xls
 
Re : Problème de séparateur

Bon, on peut toujours chipoter mais :
Si dans Excel, on garde les séparateurs système et qu'on passe de français à américain dans le panneau de configuration, chez moi, ça marche dans les 2 cas.
Là où ça se corse, c'est quand on est en Français dans le système et en Américain dans Excel ou inversement...
 
Re : Problème de séparateur

Salut tototiti je vais essayer en changeant dans le panneau de config mais le problème c'est que mon appli va etre utilisée dans plusieurs pays dont les US et que je peux difficilement prévoir quels seront leur settings. Ce matin mon manager qui est français ds le panneau de config et en US dans Excel a rencontré un problème et j'aimerais trouver une solution pour que ce genre de bug n'apparaisse plus...

Pierrejean merci mais je ne vois pas ou est la solution dans ton fichier... moi j'ai toujours la meme erreur que dans le mien en étant volontairement en , ds le panno de config et en . dans excel... So ??
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…