Affichage d'une heure en format numérique

Bonjour à toutes et tous

Pour info, je ne suis ni informaticien et encore moins programmeur…. tout juste un "bidouilleur" occasionnel pour des besoins personnels. Ceci dit, j'ai récupéré sur le site de M. Jacques Boisgontier un formulaire que j'ai adapté presque avec succès pour les besoins d'une petite municipalité. Le seul défaut est que dans l'affichage du formulaire, ce dernier reprend en numérique les horaires de la BD, ce qui bien évidemment me pose un problème de lecture et d'écriture.

Donc, mon appel est… qui saurait me corriger cet inconvénient…?

Une explication simple est souhaitée,

… ou mettre la nouvelle formule VBA ou laquelle est a remplacer…

Grand merci par avance

Je joins mon fichier à corriger.

Bien cordialement

Bonjour Mapleosaure, le forum,

Essaies de remplacer

Me.TextBox3.List = [TabHoraires].Value
  Me.TextBox5.List = [TabHoraires].Value

par

   
    For I = 0 To 23.5 Step 0.5
       Me.TextBox3.AddItem Format(I / 24, "hh:mm")
       Me.TextBox5.AddItem Format(I / 24, "hh:mm")
    Next I

source: https://forum.excel-pratique.com/viewtopic.php?p=236530#p236530

Merci à Theze,

capture

Cordialement,

Bonjour,

C'est quand même compliqué de travailler avec des userform !

Tu peux dédier un onglet à la saisie, globalement tu auras moins de difficultés !

Mais vu ton investissement, continue sur ta lancée !

Re bonjour et merci à tous les intervenants sur mon "anomalie".👍

Je dirais que la moitié de mon problème est résolue…😁

En effet, si la correction est bonne pour l'affichage dans mes combobox, l'affichage des horaires dans la listbox reste la même (c'est à dire en numérique 0,12356)… donc je suppose qu'il faut faire aussi une correction dans le code de cette listbox dont voici le code actuel… 😿

Private Sub ListBox1_Click()
  For I = 1 To nbCol
    tmp = Me.ListBox1.Column(I - 1)
    If Not IsError(tmp) Then Me("textbox" & I) = tmp
  Next I
  Me.Enreg = Me.ListBox1.Column(nbCol)
End Sub

Merci encore pour vos corrections passées et à venir…

Bien cordialement

Re,

Merci pour ton retour,

A tester....

Private Sub ListBox1_Click()
  For I = 1 To nbCol
    tmp = Me.ListBox1.Column(I - 1)
     If Not IsError(tmp) Then Me("textbox" & I) = tmp
     If I = 3 Or I = 5 Then Me("textbox" & I) = Format(tmp, "hh:mm")
  Next I
  Me.Enreg = Me.ListBox1.Column(nbCol)
End Sub

Cordialement,

Super la réactivité…

Eh bé non, hélas pour moi, cela ne change rien a l'affichage dans la listbox

autre solution ?

Peut être que la correction est a faire ailleurs car en fait, la listbox reproduit le contenu de la BD…

la Bd est bien en hh:mn, donc pourquoi la listbox reproduit en 0.12345. ?

pourtant la fonction récup de la lisbox en feuille résultat se remet bien en hh:mn

cordialement

Re,

Eh bé non, hélas pour moi, cela ne change rien a l'affichage dans la listbox

Normal, ça agit lorsque tu cliques pour transférer les données de la listbox vers les textbox...contrairement à avant , tu as bien le bon format.

Pour l'affichage de la listbox....

Un essai:

 Me.ListBox1.List = TabBD

   For n = 0 To ListBox1.ListCount - 1
    With ListBox1
     .List(n, 2) = Format(.List(n, 2), "hh:mm")
     .List(n, 4) = Format(.List(n, 4), "hh:mm")
    End With
   Next n

Cordialement,

Yeeesssss!!!!!

You are the champion.

Mille millions de merci, cela fonctionne parfaitement comme je le voulais.

C'est très agréable d'aboutir enfin sur une solution pour un novice comme moi.

je considère mon problème résolu... (jusqu'au prochain)

Bien cordialement.

Oupppsss

J'ai chanté trop vite…

J'ai aussi le même problème dans un combo de recherche.

je remets mon fichier en ligne pour mieux visualiser …

il a évolué depuis avec l'insertion de calendriers et un nouveau visu sur l'UF... donc ...

En haut à gauche dans colonne recherchée … si je recherche Heure Début ou Heure Fin, dans le combo suivant l'affichage se fait encore en numérique. Grrrr

J'abuse, j'abuse ...

cordialement

Re,

Oups, le code est trop compliqué pour moi, j'ai fait quelques tentatives qui se sont toutes soldées par un échec...

Je passe donc la main, mais je ne doute pas que tu obtiendras la solution,

Cordialement,

J'ai chargé le fichier, mais erreur de mon côté, sans doute lié au calendrier (attention, ce genre de calendrier n'est plus universel, ne fonctionne plus systématiquement sur toutes les version).

Bonjour et merci a tous ceux qui se penchent sur mon fichier.

Sinon tant pis, je vais faire avec car l'affichage est correct si j'applique le tri.

Cela ne sera pas "nickel" mais a défaut, je m'en contenterais dans l'attente d'une autre solution.

Merci encore

Bonne journée à tous !

dans l'attente d'une autre solution

Comme indiqué plus haut, on peut réserver un onglet pour cela. Les formats, listes de validation de données et mises en page sont beaucoup plus faciles à mettre en oeuvre !

Bonjour Steelson,

Oui bien sur, mais ce serais revenir "à l'ancienne quand le VBA n'existait pas".. plus sérieusement, mon fichier est destiné à des personnes pour qui l'informatique reste une chose abstraite qui "fait peur"; c'est pourquoi je m'attache à le rendre plus convivial et plus simple d'emploi pour l'utilisateur "lambda".

Merci pour ta participation.

Cordialement

Oui bien sur, mais ce serais revenir "à l'ancienne quand le VBA n'existait pas"..

mon fichier est destiné à des personnes pour qui l'informatique reste une chose abstraite qui "fait peur"; c'est pourquoi je m'attache à le rendre plus convivial et plus simple d'emploi pour l'utilisateur "lambda".

Je me permets quand même une remarque :

  • le look d'un onglet et le look d'un userform sont pratiquement similaires, il suffit de protéger les zones pour pouvoir naviguer dans les zones à renseigner
  • je trouve personnellement que les fonctions des feuilles ont beaucoup évolué, ce qui n'est pas vraiment le cas des userform : validation de données facile à définir, format date et heure sans ambiguïté (dans un userform tout est en texte), la seule chose qui pourrait manquer est le multipage qu'on trouve dans un userform.

Regarde l'exemple donné dans les applications sur les entretiens individuels avec date et listes de validation entre autres https://www.excel-pratique.com/fr/telechargements/utilitaires/excel-formulaire-no438

Mais encore une fois, chacun son expérience (assez fastidieuse quand j'ai tenté de mettre en oeuvre des userform), j ne détiens pas la vérité, plusieurs écoles existent.

Bonsoir Mapleosaure, Xorsankukai, Steelson,

En retour ton fichier modifié. Voir commentaires '** ou débutent les lignes de code apportées.

Afin de garder la conversion horaire par rapport au format numérique.

Bons tests, bonne continuation.

Bonjour a tous

pour Xorsankukai qui s'est repenché sur le sujet pour aboutir à une solution efficace et définitive. Ce fut une agréable surprise pour moi, au petit matin de trouver mon fichier tel que je le souhaitais à l'origine. Beau travail, efficace et en toute modestie. J'apprécie surtout les commentaires ** qui me permettent de comprendre les modifs et ainsi d'apprendre un peu plus dans les méandres du VBA.

Merci pour Stellson également à qui je dois l'avouer, je ne connaissais pas vraiment ce type de formulaire en onglet… mais cela me parait visuellement plutôt bien. Je vais donc étudier la chose pour ma connaissance perso et éventuellement d'autres projets.

Dans tous les cas, encore merci à tous.

Bien cordialement

OUPPsss !!!

pour X Cellus

suite a une mauvaise lecture du message, j'ai attribué la résolution du fichier à Xorsankukai…

Je rends donc a XCellus (César) ce qui lui appartient…

Merci Xcellus

et merci encore à tous ceux qui ce sont penchés sur mon fichier.

Re,

 '**Formatage horaire selon colonne
        If c = 3 Or c = 5 Then Tbl(c, n) = Format(TabBD(I, c), "hh:mm") Else Tbl(c, n) = TabBD(I, c)
        Next c

Merci X cellus pour la solution, , beau travail....

C'était pourtant à ma portée.... ....encore du boulot pour maitriser ces "tablo"...

Cordialement,

Bonjour à tous,

Merci pour vos appréciations.

@Xorsankukai,

Vu que lors de ton dernier post tu passais la main. J'ai regardé par curiosité. Il est vrai que dans les formulaires les sorties dans les contrôles posent souci. Surtout si en plus il y a des tris par un object Dictionary ou des tableaux.

@Mapleosaure,

Le smiley N'oublie pas de valider est utile pour ceux qui te répondent. Il ne permet pas de valider le sujet. Pour cela utilise en haut à droite d'un post le v (check) vert afin de clôturer ce besoin.

Bonne continuation.

Rechercher des sujets similaires à "affichage heure format numerique"