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 :

Inputbox "formaté" comme input mask en Access


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 118
    Par défaut Inputbox "formaté" comme input mask en Access
    Bonjour,

    Après quelques recherches infructueuses, je me permets de vous soumettre mon problème.
    Je voudrais bien faire une inputbox formattée comme suit :
    .../.../../.......
    L'utilisateur doit rentrer un nombre composé de 3+3+2+7 chiffres dans une fenêtre où apparaitrait le format ci-dessus, si possible...

    Merci d'avance pour votre précieuse collaboration...

  2. #2
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 118
    Par défaut
    Re...
    En fait, si ça peut éclairer votre lanterne, je voudrais bien faire un masque de saisie, comme dans Access... mais dans une Inputbox en VBA Excel. Est-ce que quelqu'un voit comment faire ?

  3. #3
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonsoir,

    Impossible avec une inputBox (sujet recurrent partout...)
    Sauf à constater (par Like) la non correspondance lors de la validation et revenir à l'inputbox (très maladroit)...
    Il te reste la ressource :
    - soit d'utiliser une fenêtre de saisie (form ou Frame) gérée à ton goût
    - soit d'utiliser le contrôle MaskEdit.

  4. #4
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 118
    Par défaut
    Bonjour,
    Merci pour la réponse, mais je n'avais rien trouvé sur le sujet...
    Ceci dit, je n'ai pas trouvé le contrôle MaskEdit, mais bien le MaskEdBox...
    C'est la même chose ? Il faut dire que j'ai Office en anglais, mais je crois que ça ne change rien...
    Quand je veux mettre ce contrôle dans ma userform, j'ai un message d'erreur qui dit : "Le contrôle n'a pas été créé car il n'a pas été correctement licencié".
    Est-ce que tu sais ce qu'il faut faire ?
    Merci

  5. #5
    Membre Expert Avatar de Jean-Pierre49
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2007
    Messages
    659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 70
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 659
    Par défaut
    Bonjour,

    Peut être:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    Private Sub TextBox1_Change()
     
    TextBox1.MaxLength = 18
    Valeur = Len(TextBox1)
     
    If Valeur = 3 Or Valeur = 7 Or Valeur = 10 Then TextBox1 = TextBox1 & "/"

    End Sub

  6. #6
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    MaskEdBox est tout simplement le nom de class dossé au contrôle MaskEdit, qui est le fichier MSMASK32.OCX...

    Ton message d'erreur me surprend.

    Comment as-tu donc inséré ce contrôle ? Par ajout de composant (component en anglais) ou autement (et si autrement, comment ?) ?

    Ceci étant dt : je ne me servirais personnellement pas d'un tel composant, qui rend l'appli quelque peu dépendante et qui risquera plus tard (avec Vista et ce qui suivra) de la rendre carrément vulnérable.

    J'utiliserais tout bêtement l'opérateur Like en conjonction avec l'évènement Change (par exemple mais pas uniquement), pour parvenir, à moindre frais et en toute indépendance, à un résultat ergonomique et contrôlé tout au long de la saisie elle-même...

  7. #7
    Membre confirmé
    Inscrit en
    Février 2007
    Messages
    118
    Détails du profil
    Informations forums :
    Inscription : Février 2007
    Messages : 118
    Par défaut
    En fait, j'essaie d'insérer le MaskEdit dans ma userform1. Comme ce contrôle ne figure pas dans ma boite à outil, je vais le chercher en cliquant sur le bouton droit de la souris "Contrôles supplémentaires", et là, je coche "Microsoft Masked Edit Control, version 6.0.
    Du coup, le symbole ##| apparait dans la boite à outil, je clique dessus, je dessine le controle dans la userform, et à la fin, j'ai le message d'erreur ci-dessus... Et c'est là que je m'arrache les cheveux de désespoir... Ca fait des heures que je cherche qqch un peu partout, mais rien...
    Enfin, merci quand-même pour tout ce que tu fais...

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

Discussions similaires

  1. Afficher quote/guillemet dans un input
    Par EggY14 dans le forum Langage
    Réponses: 8
    Dernier message: 15/09/2006, 12h59

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