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

Macros et VBA Excel Discussion :

Créer un masque de saisie dans un textbox


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 71
    Points : 41
    Points
    41
    Par défaut Créer un masque de saisie dans un textbox
    Bonjour,

    J'aimerais pouvoir saisir dans un textbox un format de numéro de type: "00 00 00". Il faut d'ailleurs que les espaces existent entre les pairs de chiffre, puisque j'utilise le contenu de la cellule pour vérification.

    Pour le moment, le code que j'utilise est:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Private Sub Ttb_Codedéchet_Change()
    'Créé un masque de saisi pour le code déchet
        On Error Resume Next
     
            If Not IsNumeric(Right(Ttb_Codedéchet, 1)) Then
     
                    Ttb_Codedéchet = Left(Ttb_Codedéchet, Len(Ttb_Codedéchet) - 1)
                    MsgBox "Veuillez saisir un chiffre"
                'trouver une solution pour ne pas afficher la msgbox lorsque la txtbox est vide IsEmpty(Ttb_newdensit) n'a pas fonctionné...
            End If
    End Sub
    Il ne me permet pas d'insérer des espaces entre les pars de chiffre.
    Et lorsque j'efface ma saisie jusqu'a ce que mon textbox soit vide il m'affiche ma MsgBox, qui n'est pas nécessaire lorsque le textbox est vide.

    Voyez-vous comment je puisse l'arranger?

    D'avance merci!

  2. #2
    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
    re,
    un exemple d'un autre code à adapter
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Private Sub TELFIXEACHANGERF_Change()
    repert = TELFIXEACHANGERF.Text 'repert variable string
    Select Case Len(repert)
    Case 2, 5, 8, 11'là tu adaptes
    repert = repert & " "
    End Select
    TELFIXEACHANGERF.Text = repert
    End Sub
    et dans l'evenement key
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub Ttb_Codedéchet_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    If InStr("1234567890", Chr(KeyAscii)) = 0 Then KeyAscii = 0
    End sub
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  3. #3
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 71
    Points : 41
    Points
    41
    Par défaut
    re,

    J'arrive même pas à saisir un chiffre! Et je ne vois pas bien pourquoi...

    Je pense qu'il fonctionnerait si le numéro était déjà saisi dans la textbox! non?

    Lorsque je mets "Case 1":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub Ttb_Codedéchet_Change()
            reper = Ttb_Codedéchet.Value 'reper variable string
            Select Case Len(reper)
            Case 1, 3 'Endroit où insérer les espaces
            repert = repert & " "
            End Select
            Ttb_Codedéchet.Text = repert
    un espace s'affiche quand j'appuie sur un chiffre, si j'appuis un deuxième l'espace disparait!?

  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
    as-tu déclarer la variable ?

    ou en début de procédure
    mais maintenant je dois partir

    Bonne journée
    Cordialement,
    Dom
    _____________________________________________
    Vous êtes nouveau ? pour baliser votre code, cliquer sur cet exemple : Anomaly
    pensez à cliquer sur si votre problème l'est
    Par contre, il est désagréable de voir une discussion résolue sans message final du demandeur (satisfaction, désarroi, remerciement, conclusion...)

  5. #5
    Membre du Club
    Inscrit en
    Mars 2010
    Messages
    71
    Détails du profil
    Informations forums :
    Inscription : Mars 2010
    Messages : 71
    Points : 41
    Points
    41
    Par défaut
    Merci beaucoup,

    J'ai obtenu exactement ce que je voulais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Dim reper As String
            reper = Ttb_Codedéchet.Text 'reper variable string
            Select Case Len(reper)
            Case 2, 5 'Endroit où insérer les espaces
            reper = reper & " "
            End Select
            Ttb_Codedéchet.Text = Left(reper, 8) 'Limite à 8 caractères
    Bonne journée

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

Discussions similaires

  1. [Débutant] Créer autant d'enregistrements que la valeur saisie dans une textbox
    Par AfroDurf dans le forum Général Dotnet
    Réponses: 2
    Dernier message: 16/06/2015, 19h13
  2. masque de saisie dans un textbox (exentric word)
    Par shirya dans le forum ASP.NET
    Réponses: 1
    Dernier message: 24/01/2007, 17h00
  3. Controle de la saisie dans un textbox
    Par jpp81 dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 24/11/2006, 05h48
  4. Réponses: 2
    Dernier message: 17/02/2005, 00h00
  5. problème avec masque de saisie dans table
    Par porki dans le forum Access
    Réponses: 6
    Dernier message: 13/10/2004, 08h58

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