EXCEL Pb heures de liste vers TextBox

Résolu/Fermé
letof40 Messages postés 26 Date d'inscription mercredi 16 mai 2012 Statut Membre Dernière intervention 16 décembre 2014 - 7 oct. 2012 à 18:42
letof40 Messages postés 26 Date d'inscription mercredi 16 mai 2012 Statut Membre Dernière intervention 16 décembre 2014 - 8 oct. 2012 à 14:07
Bonjour à toutes et tous,

Je viens à vous car j'ai un problème avec les heures dans les TextBox
J'ai une feuille EXCEL avec une liste contenant des données variées dont des heures
(en format hh:mm).

J'ai créé un formulaire qui me permets d'ajouter ou modifier des lignes, le soucis et quand les heures remontent dans le formulaire, elles le font en format décimal.
(exemple: 0,5625 pour 13:30) Alors qu'à l'inverse, l'export de la TextBox vers la liste conserve bien le format hh:mm.

Le formulaire servira à la vérification par chacun de ses données perso, il faut bien sur que les données qui remontent soient compréhensibles.
J'avoue avoir bien besoin d'un coup de main sur ce problème, je vous remercie d'avance.

Je joins une version "light" du fichier.

https://www.cjoint.com/?BJhsD0lTaXu



A voir également:

5 réponses

Mytå Messages postés 2973 Date d'inscription mardi 20 janvier 2009 Statut Contributeur Dernière intervention 20 décembre 2016 950
8 oct. 2012 à 00:24
Salut le forum

Une façon de faire
Private Sub NNI_Change()
    Dim Lg As Long

    Lg = NNI.ListIndex + 2
    For Each ctl In Me.Controls
        If ctl.Tag > "A" Then
            ctl.Value = Feuil2.Range(ctl.Tag & Lg)
            If ctl.Tag > "K" Then
                ctl.Value = Format(Feuil2.Range(ctl.Tag & Lg), "hh:mm")
            End If
        End If
    Next

End Sub

Mytå
1
letof40 Messages postés 26 Date d'inscription mercredi 16 mai 2012 Statut Membre Dernière intervention 16 décembre 2014
8 oct. 2012 à 12:38
merci pour la solution, c'est parfait
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 247
7 oct. 2012 à 20:18
Bonjour,

je ne vois pas trop où tu mets à jour ton textbox mais le principe est d'utiliser format() (que tu utilises dans le code d'ailleurs...)

textbox1 = format(ta_valeur,"hh:mm")

Si ça ne suffit pas indique plus précisément la ligne.

eric
0
letof40 Messages postés 26 Date d'inscription mercredi 16 mai 2012 Statut Membre Dernière intervention 16 décembre 2014
7 oct. 2012 à 21:28
Bonsoir Eriic,

ce sont les TextBox "dma, fma, dap et fap" qui me posent problème, lorsque j'ouvre la UserForm, (par bva, je n'ai pas de bouton sur le fichier pour le moment)et que je valide un NNI par la ComboBox, les valeurs contenues dans le tableau feuille Données remontent et les heures des colonnes "L,M,N et O" sont en décimale systématiquement malgré la commande format.
Voilà qui est peut être un peu plus clair, je suis à ta dispo, merci

Christophe
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 247
7 oct. 2012 à 22:30
Désolé mais juste le NNI s'affiche
For Each ctl In Me.Controls
  If ctl.Tag > "A" Then
    ctl.Value = Feuil2.Range(ctl.Tag & Lg)
  End If
Seul NNI a pour Tag A
DMA par exemple a pour Tag L

J'arrete de chercher tant que tu n'indiqueras pas précisément les lignes de code incriminées.
Les jeux de piste, très peu pour moi.

eric
0
letof40 Messages postés 26 Date d'inscription mercredi 16 mai 2012 Statut Membre Dernière intervention 16 décembre 2014
7 oct. 2012 à 22:43
Je ne vois pas quoi expliquer de plus, si ce n'est qu'en cliquant sur le CommandButton1 on lance le formulaire, on choisit A00000 dans le combobox du NNI et les données correspondantes de la ligne de ce NNI s'affichent dans le formulaire. Seulement les données 08:00 12:00 13:30 et 17:30 ne s'affichent pas comme tel qu'elles sont mais sous formes de données décimales. Mon problème c'est ça. A part ça tout fonctionne
0
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 247
7 oct. 2012 à 23:15
Sauf que je prenais le 1er de la liste (ce qui ne parait pas incongru) et les textbox restaient sans valeur avec dma, fma, etc dedans...

Et qu'il a fallu que je me tape plusieurs dizaines de F8 en pas à pas pour voir où tu mettais à jour le textbox.
J'ai trouvé l'erreur, c'est simple.

eric
0
letof40 Messages postés 26 Date d'inscription mercredi 16 mai 2012 Statut Membre Dernière intervention 16 décembre 2014
8 oct. 2012 à 12:37
Merci de votre aide, ça fonctionne parfaitement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
eriiic Messages postés 24603 Date d'inscription mardi 11 septembre 2007 Statut Contributeur Dernière intervention 15 décembre 2024 7 247
8 oct. 2012 à 13:27
Pour info dans
Private Sub DMA_Change()
    If Len(DMA) = 4 Then
        conversionHeure DMA
        'TotaliseHeures
        FMA.SetFocus
    End If
End Sub 
tu exclus les valeurs telles que 0,5625

Si tu avais été un peu plus coopératif et dis "je ne met à jour les textbox QUE dans les procédures TextBox_Change" tu aurais eu la réponse plus tôt.
L'équivalent de ta non réponse était : débrouille-toi à toi à tout faire en pas à pas et cherche, ça peut être n'importe où dans le code. Même si ça te prend 2h, je ne te dirais pas où je les met à jour.

eric
0
letof40 Messages postés 26 Date d'inscription mercredi 16 mai 2012 Statut Membre Dernière intervention 16 décembre 2014
8 oct. 2012 à 14:07
Désolé Eriic Je suis pas un expert en vba et ce que tu me demandais était autant du charabia pour moi que ce que j'essayais de t'expliquer. Mais visiblement il y a ici des personnes moins susceptibles qui n'ont eu aucune difficulté à trouver la solution et à la communiquer sans polémiquer.
Pour reprendre ta citation
Bon, ça c'est fait.

merci quand même.
0