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 :

[VB6]Aide pour mettre format date avec inputbox


Sujet :

VB 6 et antérieur

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 1
    Points : 1
    Points
    1
    Par défaut [VB6]Aide pour mettre format date avec inputbox
    Bonjour à toutes et à tous , j'ai un petit souci en vb6 avec la creation d'un format. Voila on me demande que lorsque l'on tape une date sur une inputbox que les séparateurs "/" se créent automatiquement , on m'a laissé entendre que l'on pouvait paramétrer une inputbox pour qu'elle reconnaisse se type de date Je ne sais pas le faire quelqu'un pourrait il m'aider SVP je vous donne le morceau de prog:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Entrée_date:
            resultat = InputBox("Entrer la date d'étiquette de l'étalon", "Saisie de la date d'étiquette", "jj/mm/aaaa")
            If Len(resultat) <> 10 Then GoTo Entrée_date
            If Mid(resultat, 3, 1) <> "/" Then GoTo Entrée_date
            If Mid(resultat, 6, 1) <> "/" Then GoTo Entrée_date
            If val(Left(resultat, 2)) > 31 Or val(Left(resultat, 2)) < 1 Then GoTo Entrée_date
            If val(Mid(resultat, 4, 2)) > 12 Or val(Mid(resultat, 4, 2)) < 1 Then GoTo Entrée_date
            étalon_étiquette = resultat
            resultat = MsgBox("Insérer l'étalon de début et valider", vbOKOnly + vbExclamation, " Test étalon")
            resultat = MsgBox("Allez vous imprimer les résultats", vbYesNo + vbExclamation, " Impression des résultats")
            Select Case resultat :cry:

  2. #2
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Hello!
    Est-ce que tu veux que les "/" se rajoutent en cours de frappe?
    Je ne sais pas le faire sur une InputBox. Sur une (mini-)form, il-y-a plein de trucs possibles sur les événements, et là, c'est possible.

  3. #3
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Par exemple, dans le code d'une form toute simple ou TextBox1 est le champ où tu saisis ta date:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub TextBox1_Change()
        If Len(TextBox1.Text) = 2 Or Len(TextBox1.Text) = 5 Then
     
                TextBox1.Text = TextBox1.Text & "/"
     
        End If
    End Sub

  4. #4
    Membre éprouvé
    Avatar de ridan
    Inscrit en
    Avril 2003
    Messages
    710
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2003
    Messages : 710
    Points : 1 126
    Points
    1 126
    Par défaut
    Citation Envoyé par Megaxel
    Par exemple, dans le code d'une form toute simple ou TextBox1 est le champ où tu saisis ta date:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Private Sub TextBox1_Change()
        If Len(TextBox1.Text) = 2 Or Len(TextBox1.Text) = 5 Then
     
                TextBox1.Text = TextBox1.Text & "/"
     
        End If
    End Sub
    Ou avec un contrôle MaskedBox :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaskEdBox1.Mask = "##/##/####"

  5. #5
    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
    Le plus simple pour saisir une date, c'est de créer une (mini)form comme dit Megaxel et d'utiliser un DTPicker (Microsoft Common Controls SP*)

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    290
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Septembre 2005
    Messages : 290
    Points : 374
    Points
    374
    Par défaut
    Bonjour,
    Pour que ton resultat soit au format jour, moi, année, mets ce code et dans le InputBox, tappe 10 Novembre 2005.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    Private Sub Command1_Click()
    Dim resultat
    resultat = InputBox("Entrer la date d'étiquette de l'étalon", "Saisie de la date d'étiquette")
    MsgBox Format(resultat, "dd/mm/yyyy")
    End Sub
    jpleroisse

  7. #7
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Points : 15 546
    Points
    15 546
    Par défaut
    Hello, j'avais ça dans un coin, si ça peut t'aider

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    Sub Entrée_date()
    Dim ok As Boolean, LaDate As String, mot As String
    mot = "jj/mm/aaaa"
            Do While Not ok
                LaDate = InputBox("Entrer la date d'étiquette de l'étalon", "Saisie de la date d'étiquette", mot)
                ok = Len(LaDate) = 10
                ok = ok And InStr(LaDate, "/") = 3
                ok = ok And InStr(Right(LaDate, 7), "/") = 3
                If Not ok Then MsgBox "Date incorrecte, respectez le format, nom de gu !"
                mot = LaDate   'évite d'avoir à tout retaper
            Loop
    End Sub
    Évite d'utiliser les Goto, dans une boucle sans fin ça sature la mémoire

  8. #8
    Membre expérimenté Avatar de Megaxel
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    1 187
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 1 187
    Points : 1 405
    Points
    1 405
    Par défaut
    Ben il va être content, Geliwy77, quand il reviendra sur ce forum pour regarder si quelqu'un a bien voulu l'aider...
    Sinon, je n'ai jamais fait joujou avec un contrôle MaskedBox !!! Je ne savais même pas que ça existait!!

  9. #9
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3
    Points : 3
    Points
    3
    Par défaut
    Bonjour à tous,
    lors d'une recherche sur la saisie d'une date dans inputbox, j'ai eu la CHANCE de tomber sur votre petit programme. j'avoue qu'il m'a particuliérement bien aidé ..mille merci !!
    Pour ma part je souhaite copier la date dans une cellule (exemple A1)
    je tape :
    Range("A1").select
    ActiveCell.FormulaR1C1 = resultat

    mais à ma grande surprise quand je tape :
    03/01/2006 en A1 j'ai 01/03/2006
    01/03/2006 en A1 j'ai 03/01/2006
    01/10/2006 en a1 j'ai 10/01/2006
    il y a qu'avec 25/01/2006 qu'en A1 j'ai bien 25/01/2006
    c'est trés embétant car A1 est une référence pour la suite de ma programmation
    Avez vous la raison de ce pb? Merci d'avance

  10. #10
    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
    Citation Envoyé par ossiu
    Avez vous la raison de ce pb? Merci d'avance
    oui, problème de format de date anglais/francais

    si pour 25/01/2006 tu as le bon resultat, c'est parce qu'il n'y a pa 25 mois dans une année

  11. #11
    Membre habitué
    Inscrit en
    Novembre 2005
    Messages
    130
    Détails du profil
    Informations forums :
    Inscription : Novembre 2005
    Messages : 130
    Points : 166
    Points
    166
    Par défaut
    bonjour ossiu,

    transforme resultat en date avec cdate()
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ActiveCell.FormulaR1C1 = CDate(resultat)
    et le tour est joué !
    @+

  12. #12
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3
    Points : 3
    Points
    3
    Par défaut pb date input vers A1
    super, merci bouley !!

    c'est génial d'avoir répondu si rapidement

    ça fonctionne comme je le souhaite MERCI MERCI

  13. #13
    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
    Salut

    et bienvenue à Geliwy77. Tu as eu beaucoup de réponses mais on ne sait pas ce que tu en penses.

  14. #14
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3
    Points : 3
    Points
    3
    Par défaut filtre sur 1 colonne
    Bonjour à tous,

    j'ai un soucis avec le filtre d'une colonne.

    datefin = CDate(resultat) (exemple : 06/01/2006)

    En colonne H je dois laisser les cellules vides et les cellules dont la date est supérieure à "datefin"
    le mieux que j'ai trouvé est de laisser les cellules vides et les cellules différentes de datefin.
    biensûr ça ne va pas car il apparait des dates inférieures à datefin

    Selection.AutoFilter Field:=8, Criteria1:="<>" & datefin, Operator:=xlOr _ , Criteria2:="="""""

    quelqu'un aurait il une solution magique? Merci

Discussions similaires

  1. [MySQL] le format idéal pour stocker des dates avec l'heure
    Par Philoulheinz dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 17/02/2007, 21h53
  2. [C#]Aide pour gestion dataset / XML avec listview(débutant)
    Par Low-Fi dans le forum Windows Forms
    Réponses: 1
    Dernier message: 15/04/2006, 11h21
  3. [VB6]Aide pour systeme de MAJ automatique d'un programme
    Par Tyrael62 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 28/01/2006, 05h44
  4. Réponses: 3
    Dernier message: 05/12/2005, 02h30
  5. [débutant] Aide pour mettre une FOREIGN KEY sur une table
    Par cauldron dans le forum Langage SQL
    Réponses: 2
    Dernier message: 14/11/2004, 17h16

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