IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VBA Access Discussion :

Remplacer "," par un "." dans textbox [AC-2002]


Sujet :

VBA Access

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Modérateur
    Avatar de Chtulus
    Homme Profil pro
    Ingénieur
    Inscrit en
    Avril 2008
    Messages
    3 094
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Santé

    Informations forums :
    Inscription : Avril 2008
    Messages : 3 094
    Par défaut Remplacer "," par un "." dans textbox
    Bonjour,

    Non, non, on ne rigole pas, je vais craquer là je crois

    J'ai essayé tout ce qui mets passé par la tête mais là, voilà la dernière mouture, en plus ça doit être c** comme la lune :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub CLIENT_MAIL_KeyPress(KeyAscii As Integer)
    If Chr(KeyAscii) = "," Or KeyAscii = 46 Then Chr(KeyAscii) = "."
    End Sub
    J'obtiens le message d'erreur

    Erreur d'execution '424'

    Objet requis
    J'ai mis le num dot (46) car le point du clavier numérique m'affiche une virgule et me retourne la valeur 46 (Vu avec espion)

    Sachant que je ne peux modifier les options régionales !

    « Je ne cherche pas à connaître les réponses, je cherche à comprendre les questions. »
    - Confucius -

    Les meilleurs cours, tutoriels et Docs sur les SGBD et le SQL
    Tous les cours Office
    Solutions d'Entreprise



  2. #2
    Membre averti
    Inscrit en
    Décembre 2007
    Messages
    22
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 22
    Par défaut
    Salut

    J'ai peut être une solution, pas très élégante, en deux temps:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    Private Sub Texte1_KeyDown(KeyCode As Integer, Shift As Integer)
      If KeyCode = vbKeyDecimal Then
          KeyCode = 0
          SendKeys "."
      End If
    End Sub
     
    Private Sub Texte1_KeyPress(KeyAscii As Integer)
      If KeyAscii = 44 Then KeyAscii = 46
    End Sub
    L'évenement KeyDown intercepte un appui sur la virgule du numpad et le remplace par un point.

    Le KeyPress change la virgule en point.

    Mais il doit y avoir une feinte pour faire ça plus proprement en une seule passe...

    Bonne chance

  3. #3
    Membre éclairé Avatar de Amani Roland
    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 42
    Par défaut
    Bonjour,

    Fonction te permettant de saisir l'email


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    Function AlphaNumeric(I As Integer) As Integer 'AlphaNumeric sans guillemets ni apostrophe mais espace possible
        Select Case I
            Case 8, 32, 37, 38, 40 To 43, 45 To 57, 64 To 122, 160
     
                strI = Chr(I)
     
                AlphaNumeric = Asc(UCase(strI))
            Case 44
                AlphaNumeric = 46
            Case Else
                DoCmd.CancelEvent
        End Select
    End Function
    Appel de la fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub CLIENT_MAIL_KeyPress(KeyAscii As Integer)
        KeyAscii = AlphaNumeric(KeyAscii)
    End Sub

  4. #4
    Membre éclairé
    Homme Profil pro
    Manager de Projet SAP
    Inscrit en
    Mars 2009
    Messages
    210
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : Pologne

    Informations professionnelles :
    Activité : Manager de Projet SAP
    Secteur : Distribution

    Informations forums :
    Inscription : Mars 2009
    Messages : 210
    Par défaut
    Bonjour.

    Est-ce que je suis sur la bonne longueur d'onde ?

    S'agit il de pouvoir saisir un . ou une , dans un champ textbox en tapant le separateur qui se trouve sur le clavier numerique ?

    Je pense qu'en rajoutant du code VBA modifiant le format windows afin que le separateur decimal soit un '.' dans Windows, on resout le probleme. Il suffit de le faire avant d'ouvrir le formulaire.

    Ainsi, plus de modif necessaire de signe.

    Cdlt

  5. #5
    Invité
    Invité(e)
    Par défaut
    Bonjour,

    jj4822 : Chtulus à écrit

    Sachant que je ne peux modifier les options régionales !
    Chtulus : vous ne pouvez pas utiliser la fonction "Replace" ?

  6. #6
    Invité
    Invité(e)

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [WD-2010] Remplacer un mot par le même MAIS dans une autre couleur
    Par goldvin dans le forum Word
    Réponses: 4
    Dernier message: 16/01/2012, 01h30
  2. Réponses: 13
    Dernier message: 30/06/2010, 15h23
  3. Remplacer une colonne par ses numéros correspondants dans une liste
    Par freestyler dans le forum Shell et commandes GNU
    Réponses: 27
    Dernier message: 12/06/2008, 15h42
  4. Réponses: 7
    Dernier message: 21/05/2008, 17h29
  5. Réponses: 42
    Dernier message: 19/06/2007, 09h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo