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

VBA Discussion :

heure dans un textbox


Sujet :

VBA

  1. #1
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 106
    Points : 57
    Points
    57
    Par défaut heure dans un textbox
    Bonjour,

    Je débute en vba, j'ai acquis quelques bases sur l'environnement et le code en me balladant sur les forums et sur les tutos mais je rencontre un petit pb.
    J'ai créé un userform (profil) où je veux afficher dans un controle textbox la valeur d'une de mes feuilles de calcul (profil), cette valeur étant une heure type chronomètre. En fait on rentre cette valeur par le biais du même textbox, seulement celui ci me transforme automatiquement mon chrono en un nombre au format scientifique. Et il ne me le garde pas en forme de chrono.

    Je voulais savoir s'il y a un moyen de forcer le textbox à enregistrer une valeur au format heure et à le garder sous ce format pour une consultation ultérieure.

    J'ai essayé plusieurs solutions sans succés.

    Merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour

    As-tu essayé avec la fonction Format ?

    Starec

  3. #3
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 106
    Points : 57
    Points
    57
    Par défaut
    c'est à dire??

    J'ai essayé :


    textbox.NumberFormat = "[h]:mm:ss;@"

    dans la partie validation de mon bouton valider.
    Ca n'a pour conséquence que de transformer un nombre en format heure. Mais moi en fait je veux rentrer une valeur en format heure dans un textbox (HH:MM:SS) et qu'il me redonne cette valeur sous le même format à l'ouverture du userform.

    Et c'est un cass tête infernal!!!!!

  4. #4
    Invité
    Invité(e)
    Par défaut
    Re

    Tape Format dans l'aide.

    Starec

  5. #5
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 106
    Points : 57
    Points
    57
    Par défaut
    stp doucement, je débute

    L'aide sur les formats est bien belle, mais elle ne me dis pas comment faire en sorte qu'à la saisie de mon temps dans mon textbox, ce dernier enregistre bien cette saisie dans le format que je lui indique.
    Or je ne sais pas comment faire ça.

  6. #6
    Invité
    Invité(e)
    Par défaut
    Re

    Essaye ce code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub TextBox1_AfterUpdate()
        Me.TextBox1.Value = Format(Me.TextBox1.Value, "hh:mm")
    End Sub
    TextBox1 étant une textbox dans une UserForm, et adapte le

    Starec

  7. #7
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 106
    Points : 57
    Points
    57
    Par défaut
    merci

    Il m'affiche bien ma valeur dans le bon format, seulement maintenant quand je ferme le userform, à la réouverture il m'affiche la valeur rentrée initialement sous forme de nombre.

    Je rentre 12:00:00, il me le rentre bien dans ma base de données, mais quand je relance le userform, il m'affiche 0,5 dans mon textbox. Or je voudrais bien qu'il m'affiche 12:00:00

    J'ai essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub userform2_initialyse()
    UserForm2.textbox1.RowSource = Hour(Feuil1.Range("A1").Value) & ":" & Minute(Feuil1.Range("A1").Value) & ":" & Second(Feuil1.Range("A1").Value)
    End Sub
    Mais ça marche pas

  8. #8
    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 543
    Points
    15 543
    Par défaut
    Ça... ça peut pas "marcher"
    Teste ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Private Sub UserForm_Initialize()
    UserForm2.TextBox1.Text = Format(CDate(Feuil1.Range("A1").Value), "hh:mm")
    End Sub

  9. #9
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 106
    Points : 57
    Points
    57
    Par défaut
    nan, ça ne "fonctionne" pas

    quand je tape 00:20:00, il me rentre cette valeur dans la base, mais affiche aussitôt 1,38888888888889E-02 dans mon textbox.

  10. #10
    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 543
    Points
    15 543
    Par défaut
    Donc, dans ta cellule, tu as une heure, pas une date. C'est bien. Alors c'est plus simple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    UserForm2.TextBox1.Text = FormatDateTime(Cells(1, 1).Value, vbShortTime)

  11. #11
    Membre du Club
    Inscrit en
    Avril 2007
    Messages
    106
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 106
    Points : 57
    Points
    57
    Par défaut
    t'es un as!!!!

    Merci de m'avoir consacré un peu de temps.
    Et j'adhère totalement à ta devise :"Tant que tu rames, dis-toi que tu navigues"
    C'est aussi la mienne depuis que j'ai touché un clavier.

    Seulement y'a des fois où on aime bien ne pas naviguer seul.

    A+
    Et merci encore

    PS : pour finir mon projet, j'aurais certainement encore besoin de conseils et solutions pas toujours évidentes aux novices.

  12. #12
    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 543
    Points
    15 543
    Par défaut
    Et si je te disais que je suis allé dans l'aide, que j'ai tapé "format" ce qui m'a affiché plein de formatquelquechose et que j'ai choisi dans le tas pour ne pas me tromper de format ? Seulement, j'ai une touche F1 sur mon clavier et je sais que nous ne sommes pas nombreux à l'avoir

Discussions similaires

  1. Format heure dans un textbox
    Par Liloo14 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 28/10/2013, 16h56
  2. [Débutant] Saisie d'une heure dans un Textbox
    Par arngrimur dans le forum ASP.NET
    Réponses: 14
    Dernier message: 28/09/2011, 10h22
  3. [Débutant] Probleme pour Afficher l'heure dans un textbox
    Par Alegreg dans le forum ASP.NET
    Réponses: 12
    Dernier message: 26/07/2011, 19h51
  4. [débutant] Actualiser l'heure dans une textbox
    Par blacknight dans le forum Windows Presentation Foundation
    Réponses: 7
    Dernier message: 03/05/2010, 23h30
  5. Probléme de format heure dans le textbox
    Par jijie dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 13/02/2008, 18h20

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