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

VB 6 et antérieur Discussion :

Masque de saisie de date


Sujet :

VB 6 et antérieur

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 12
    Points : 6
    Points
    6
    Par défaut Masque de saisie de date
    Bonjour à tous,

    Voilà, je voudrais appliquer un masque de saisie à une variable texte pour que les utilisateurs rentrent correctement leurs dates par exemple au format jj/mm/aaaa.

    Essayer si vous le voulez bien de clarifier vos explications, je ne suis qu'un débutant.

  2. #2
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Une solution assez simple : utiliser le controle Micorsoft Masked Edit Control
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Bonjour OhMonBato,

    Où puis je trouver ce contrôle ?

    Merci d'avance pour ta réponse.

  4. #4
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Sous VB tapes CTRL + T et ajoute Microsoft Masked Edit Control qui est dans la liste.
    Place ensuite ce controle sur ta feuille et appuis sur F1 pour avoir l'aide correspondant à ce controle.

    Je dis bien que c'est UNE solution, pas la seule mais elle est simple.
    Tu devras utiliser la propriété Mask et mettre quelquechose du style "##-##-##"
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  5. #5
    Membre chevronné
    Avatar de sovo
    Homme Profil pro
    Développeur Java
    Inscrit en
    Mars 2004
    Messages
    1 389
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Cameroun

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2004
    Messages : 1 389
    Points : 1 788
    Points
    1 788
    Par défaut
    Citation Envoyé par minihart Voir le message
    Où puis je trouver ce contrôle ?
    Ctrl + T (ou Projet -> Composant) ensuite Microsoft Masked Edit Control 6.0
    "Toute question a une reponse. Et chaque reponse est une nouvelle question." Albert EINSTEIN

    En cas de Question resolu, n'oubliez pas

  6. #6
    Expert éminent
    Avatar de ThierryAIM
    Homme Profil pro
    Inscrit en
    Septembre 2002
    Messages
    3 673
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2002
    Messages : 3 673
    Points : 8 524
    Points
    8 524
    Par défaut
    ou utiliser un contrôle DTPicker (dispo dans Microsoft Windows Common Controls-2)
    Vous vous posez une question, la réponse est peut-être ici :
    Toutes les FAQs VB
    Les Cours et Tutoriels VB6/VBScript
    Les Sources VB6


    Je ne réponds pas aux questions techniques par MP. Utilisez les forums. Merci de votre compréhension

  7. #7
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Bonsoir,
    Merci à vous tous pour vos réponses.
    Il ne me reste plus qu'à tester.
    Je vous tiens au courant.

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Bonjour à tous,

    J'ai essayé la méthode de OhMonBato, cad Microsoft Masked Edit Control 6.0.

    C'est bien, cela correspond tout à fait à ca que je voulais.

    Mais 2 problèmes sont apparus

    Mettre le focus dans ce genre de boîte de texte et la remise à blanc pour resaisir une date.

    Pourriez-vous m'aider ?

  9. #9
    Membre expert Avatar de OhMonBato
    Homme Profil pro
    Inscrit en
    Mars 2007
    Messages
    2 660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Morbihan (Bretagne)

    Informations professionnelles :
    Secteur : Industrie

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 660
    Points : 3 685
    Points
    3 685
    Par défaut
    Si ton controle s'appelle MaskEdTxt, pour donner le focus :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    MaskEdTxt.SetFocus
    Pour réinitialiser, c'est un peu plus lourd :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    MaskEdTxt.Mask = ""
    MaskEdTxt.Text = ""
    MaskEdTxt.Mask = Le masque que tu avais défini auparavant
    Pour VB6 : N'oubliez pas d'aller voir la FAQ et les Tutoriels
    Vous trouvez une reponse particulierement utile ? Votez pour !

  10. #10
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Bonjour OhMonBato,

    Merci pour ta réponse, je teste et je te dis quoi

  11. #11
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Bonsoir OhMonBato,

    Ca va beaucoup mieux, mais il me reste un souci, le SetFocus ne fonctionne pas au premier chargement de la feuille, si je met dans le form_load un SetFocus de ma MaskedEsitBox il me le refuse en me mettant un message d'erreur

    Erreur d'exécution 5
    Argument ou appel de procédure incorrecte

    Alors que dans mon bouton de commande effacer tout fonctionne très bien.

    Je sais que j'abuse de ton temps, mais pourrais-tu encore m'aider.

  12. #12
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    C'est normal. On ne peut pas forcer le focus sur un contrôle quel qu'il soit lors d'un Form_Load. Essaie plutôt avec Form_Activate. Ceci n'empêche pas de faire tes autres initialisations lors du Form_Load (si tu as d'autre code dans cet événement, bien sûr).

  13. #13
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Merci Zazaraignée,

    Je vais essayer, et je te tiens au courant.

  14. #14
    Membre habitué
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Septembre 2007
    Messages
    143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Septembre 2007
    Messages : 143
    Points : 177
    Points
    177
    Par défaut
    C'est peut être idiot comme remarque mais pour que le controle ai le focus au chargement de la fenêtre ne suffit-il pas de mettre sa valeur TabIndex à 0 ?

  15. #15
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2003
    Messages
    12
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Décembre 2003
    Messages : 12
    Points : 6
    Points
    6
    Par défaut
    Bonjour à tous,

    Avec Form_activate cela fonctionne très bien, je te remercie Zazaraignée.

    Mais pourquoi l'un et pas l'autre Form

  16. #16
    Inactif  
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 054
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 054
    Points : 2 416
    Points
    2 416
    Par défaut
    Citation Envoyé par Cravis Voir le message
    C'est peut être idiot comme remarque mais pour que le controle ai le focus au chargement de la fenêtre ne suffit-il pas de mettre sa valeur TabIndex à 0 ?
    Bien vu.
    Citation Envoyé par minihart Voir le message
    Bonjour à tous,

    Avec Form_activate cela fonctionne très bien, je te remercie Zazaraignée.

    Mais pourquoi l'un et pas l'autre Form
    C'est un peu comme si tu montait dans une voiture qui est encore sur la chaine de montage et que tu voulais la démarrer...
    (C'est une plaisanterie . )
    La forme n'est pas encore visible donc tu ne peu donner le focus à un contrôle qui n'est pas visible, de même si la fenêtre est minimisée (icone) ou hide (cachée).
    A+

  17. #17
    Expert confirmé
    Avatar de zazaraignée
    Profil pro
    Étudiant
    Inscrit en
    Février 2004
    Messages
    3 174
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2004
    Messages : 3 174
    Points : 4 085
    Points
    4 085
    Par défaut
    Parce qu'au moment du chargement de la fenêtre, elle n'est pas encore dessinée à l'écran, il est donc impossible de donner le focus à un quelconque composant.

    Cependant, Form_Load est tout indiqué pour initialiser les variables globales (s'il y en a, Private de préférence), charger les componsants créés dynamiquement (toujours s'il y en a), exécuter les routines d'activation (ou désactivation: Enabled True ou False) des composants qui doivent être soit désactivés ou activés selon la situation (les paramètres de départ, en l'occurrence), etc.

    Le Form_Activate, permet de faire aussi toutes ces choses, mais comme cet événement se produit toutes les fois que la fenêtre reprend le focus (comme après la fermeture d'une boîte de message), il est peut-être mieux d'éviter d'y appeler les routines qui n'ont besoin de s'exécuter qu'une fois au démarrage.

    [Edit] Tiens! LeForestier a répondu avant moi! Au fait, j'ai oublié de mentionner que la propositioin de Cravis est tout à fait à propos. C'est une bonne idée de vérifier l'ordre de tabulation des composants d'une fenêtre.

Discussions similaires

  1. [AC-2007] masque de saisie pour date et heure (ensemble)
    Par lbar012001 dans le forum IHM
    Réponses: 0
    Dernier message: 16/06/2010, 15h57
  2. [AC-2007] pb avec mon masque de saisie de date
    Par tibofo dans le forum IHM
    Réponses: 2
    Dernier message: 04/03/2010, 14h44
  3. masque de saisie de Date pour TextBox
    Par ygeeg dans le forum Windows Forms
    Réponses: 5
    Dernier message: 03/03/2010, 22h52
  4. Masque de saisie pour date au format Y-M-D
    Par Claude Poulin dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 02/03/2009, 13h52
  5. Masque de saisie texte+date
    Par Thibaut_Dupont dans le forum Access
    Réponses: 6
    Dernier message: 02/08/2006, 14h39

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