Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Saisie d'heure en vba

micpid62

XLDnaute Occasionnel
Bonjour à tous
Je voudrais une explication sur la saisie horaire.
Je veux la somme des heures pour une activité
J'ai un formulaire avec une textbox pour la saisie des heures.
Si je saisis dans le formulaire 16:30 dans la base de donnée, j'ai 4:30:00 PM
Il faut que j'aille dans la base de donnée pour saisir directement 16:30 et j'ai le résultat désiré
Est-ce qu'il y a un formlat spécial en vba pour régler ce problème
Merci d'avance
 

TooFatBoy

XLDnaute Barbatruc
Donc c'est une durée que tu veux saisir dans ta TextBox ?

L'erreur se produit à la saisie, ou à l'affectation dans la cellule ?


Tu ne veux pas donner des explications un peu plus complètes, et aussi un petit fichier ???
 
Dernière édition:

Dranreb

XLDnaute Barbatruc
Bonjour.
De toute façon il est souhaitable d'affecter, en tant que valeurs de cellules, les textes numériques issus de contrôles convertis en les types de données appropriés au moyen des fonctions CDbl et CDate, voire CCur. Sinon Excel y applique une interprétation anglo-saxonne.
 

micpid62

XLDnaute Occasionnel
L'erreur se produit lors de l'affectation dans la cellule.
C'est-à-dire que si je saisis 22:30 dans la textbox, dans la cellule de ma feuille, j'ai : 10:30:00 pm
 

Pièces jointes

  • test.xlsm
    389.9 KB · Affichages: 7

Dranreb

XLDnaute Barbatruc
Alors je n'avais pas capté que le nombre d'heure pouvait dépasser 24.
Il ne reste plus qu'à faire:
VB:
TSpl = Split(TxtNbrHeures & ":0", ":"): arr(1) = TimeSerial(TSpl(0), TSpl(1), 0)
 

TooFatBoy

XLDnaute Barbatruc
L'erreur se produit lors de l'affectation dans la cellule.
C'est-à-dire que si je saisis 22:30 dans la textbox, dans la cellule de ma feuille, j'ai : 10:30:00 pm
Je viens d'essayer ton fichier, juste en mettant les cellules de la colonne "Nbre d'heures" au format [h]:mm et il n'y a aucun problème, j'ai bien 16:30 qui s'affiche sur la nouvelle ligne du TS.

En revanche, il y a bien sûr une erreur pour les durées supérieures à 24:00.
Mais si tu mets simplement ceci :
VB:
arr(1) = TxtNbrHeures
ça devrait marcher.
 

Pièces jointes

  • test_(TooFatBoy-v1).xlsm
    386.6 KB · Affichages: 4
Dernière édition:

Discussions similaires

Réponses
15
Affichages
444
Réponses
9
Affichages
433
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…