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

Excel Discussion :

Comment obliger seulement les entrées numérique dans une Txtbox?


Sujet :

Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 29
    Points : 13
    Points
    13
    Par défaut Comment obliger seulement les entrées numérique dans une Txtbox?
    Bonjour!

    j'affiche un Userform avec un txtbox demandant a l'utilisateur d'entrer un 1 de téléphone. J'aimerais fixer la saisie avec des chiffre uniquement et que les caractères non-numérique ne s'affichent pas...

    voici ou j'en suis :

    Private Sub txtbox_TelephonePrincipale_Change()

    Dim Telephone As String

    If IsNumeric(txtbox_TelephonePrincipale.Value) Then
    Telephone = txtbox_TelephonePrincipale.Text
    Select Case Len(Telephone)
    Case 3
    Telephone = Telephone & " "
    Case 7
    Telephone = Telephone & "-"
    End Select
    txtbox_TelephonePrincipale.Text = Telephone

    End If

    End Sub

    MERCI de votre aide!

  2. #2
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 29
    Points : 13
    Points
    13
    Par défaut
    OK j'ai trouvé!!


    Merci DSL

  3. #3
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 29
    Points : 13
    Points
    13
    Par défaut
    Merde, ma solution ne fonctionne pas!

    voici mon code:

    Private Sub txtbox_TelephonePrincipale_Change()

    Dim Telephone As String

    If IsNumeric(txtbox_TelephonePrincipale) Then
    Telephone = txtbox_TelephonePrincipale
    Select Case Len(Telephone)
    Case 3
    Telephone = Telephone & " "
    Case 7
    Telephone = Telephone & "-"
    End Select
    txtbox_TelephonePrincipale = Telephone

    Else

    txtbox_TelephonePrincipale = ""

    End If

    End Sub

    a chaque fois que l'utilisateur entre une lettre, cela efface tout les caractères entrés. Moi je veux juste que la txtbox affiche les caracteres numériques et pas les lettres sans rien enlever...

    que dois-je faire?

    merci

  4. #4
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    Bonjour,
    Regardes sur ce lien
    et penches-toi sur cet évènement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Private Sub txtbox_TelephonePrincipale_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    Bon courage et bonne journée

  5. #5
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Mars 2014
    Messages
    29
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mars 2014
    Messages : 29
    Points : 13
    Points
    13
    Par défaut
    MERCI infinimment! ca fonctionne...

    cependant, j'ai un dernier problème...

    afin de respecter le format du telephone, je "Lock=true" le txtbox. Cependant, je ne peux meme pu effacer les entrées...

    Comment faire pour ne plus entrer de valeurs au dela d'un certain format tout en étant capable d'effacer celles deja inscrites...?

    J'Essai de jouer avec le code KeyAscii du backspace (08) mais cela ne fonctionne pas!!

    voici mon nouveau code:


    Private Sub txtbox_TelephonePrincipale_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)


    If InStr("1234567890", Chr(KeyAscii)) = 0 Then

    KeyAscii = 0

    Else
    Dim Telephone As String

    If IsNumeric(txtbox_TelephonePrincipale) = True Then

    Telephone = txtbox_TelephonePrincipale
    Select Case Len(Telephone)
    Case 3
    Telephone = Telephone & " "
    Case 7
    Telephone = Telephone & "-"
    End Select
    txtbox_TelephonePrincipale = Telephone

    End If

    If Len(txtbox_TelephonePrincipale) = 13 And Chr(KeyAscii) <> 8 Then

    txtbox_TelephonePrincipale.Locked = True

    End If
    End If
    End Sub

  6. #6
    Expert éminent Avatar de casefayere
    Homme Profil pro
    RETRAITE
    Inscrit en
    Décembre 2006
    Messages
    5 138
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Ardennes (Champagne Ardenne)

    Informations professionnelles :
    Activité : RETRAITE
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Décembre 2006
    Messages : 5 138
    Points : 9 548
    Points
    9 548
    Par défaut
    D'abord, n'oublies pas les balises "code" en sélectionnant ton code et en cliquant sur "#"

    et si tu te contentais de ce code, à tester ! :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    Private Sub txtbox_TelephonePrincipale_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    Dim Telephone As String
     
    If InStr("1234567890 -", Chr(KeyAscii)) = 0 Or txtbox_TelephonePrincipale.SelStart = 0 And Chr(KeyAscii) = "-" Then
      MsgBox "caractere non autorisé"
      KeyAscii = 0
    End If
    Telephone = txtbox_TelephonePrincipale
    Select Case Len(Telephone)
    Case 3
    Telephone = Telephone & " "
    Case 7
    Telephone = Telephone & "-"
    End Select
    'ci-dessous à adapter
    If Len(Telephone) >= 12 Then
      MsgBox "saisie sur 10 chiffres"
    End If
     
    txtbox_TelephonePrincipale = Telephone
     
    End Sub

Discussions similaires

  1. Réponses: 7
    Dernier message: 08/05/2012, 20h40
  2. Réponses: 2
    Dernier message: 08/07/2008, 11h50
  3. Réponses: 2
    Dernier message: 04/05/2006, 11h34
  4. Réponses: 7
    Dernier message: 24/04/2006, 15h48
  5. comment compter les entrées identiques dans une requete?
    Par Chico_Latino dans le forum Access
    Réponses: 2
    Dernier message: 11/04/2006, 18h16

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