Microsoft 365 Textbox heure minute vers tableau en décimal

  • Initiateur de la discussion Initiateur de la discussion eric72
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

eric72

XLDnaute Accro
Bonjour à tous,
Je me permets de vous solliciter une nouvelle fois car je bloque, je m'explique.
J'ai un Userform nommé "UsfSaisieHeures" qui me permet de saisir des heures de travail, il y a un total général qui se calcule au fur et à mesure, jusque là tout va bien, par contre j'aimerais "exporter" ce Total Général vers ma feuille "ArchivesHrs" en décimal en non pas en heure minutes, j'ai fait plusieurs tentatives, notemment avec ce code
VB:
    With Sheets("ArchivesHrs")
    'On Archive le Lundi
        .Cells(ligcible, colcible).Value = Abs1.Value
        .Cells(ligcible + 1, colcible).Value = T1.Value
        .Cells(ligcible + 2, colcible).Value = T2.Value
        .Cells(ligcible + 3, colcible).Value = T3.Value
        .Cells(ligcible + 4, colcible).Value = T4.Value
        .Cells(ligcible + 5, colcible).Value = TotalLundi.Value
        .Cells(ligcible + 6, colcible).Value = TxtBqHrL.Value
        .Cells(ligcible + 7, colcible).Value = TimeValue(TotalGeneral.Value) * 24
        .Cells(ligcible + 8, colcible).Value = TimeValue(TotalAbs.Value) * 24
J'ai un message d'erreur de Incompatibilité de Type erreur 13 IC
Code:
 .Cells(ligcible + 7, colcible).Value = TimeValue(TotalGeneral.Value) * 24
        .Cells(ligcible + 8, colcible).Value = TimeValue(TotalAbs.Value) * 24
PS: pour faire l'essai, ouvrir le Userform, sélectionner dans "Semaine" 01/01/2024, puis cliquer dans la listbox, puis valider avec le bouton vert

Je m'en remets à votre savoir pour me dépatouiller de ce problème
Merci beaucoup
Eric
 

Pièces jointes

Solution
Hi,

Prop :
VB:
        ' ***********************************************************************************
        .Cells(ligcible + 7, colcible).Value = TotalGeneral.Value
        .Cells(ligcible + 7, colcible).Value2 = 24 * .Cells(ligcible + 7, colcible).Value2
        .Cells(ligcible + 7, colcible).NumberFormat = "0.00"
        ' ***********************************************************************************
        .Cells(ligcible + 8, colcible).Value = TotalAbs.Value
        .Cells(ligcible + 8, colcible).Value2 = 24 * .Cells(ligcible + 8, colcible).Value2
        .Cells(ligcible + 8, colcible).NumberFormat = "0.00"
        ' ***********************************************************************************
Hello

Comme indiqué dans l'autre post.. le contenu d'un textbox est du texte
donc déjà.. textbox.value n'a pas vraiment de sens==> et faire une "opération" sur du texte.. ca ne marche pas
au lieu de timevalue (qui n'aime pas les durées >24h, je crois) , utilise application.text
VB:
With Sheets("ArchivesHrs")
    'On Archive le Lundi
        .Cells(ligcible, colcible).Value = Abs1.Value
        .Cells(ligcible + 1, colcible).Value = T1.Value
        .Cells(ligcible + 2, colcible).Value = T2.Value
        .Cells(ligcible + 3, colcible).Value = T3.Value
        .Cells(ligcible + 4, colcible).Value = T4.Value
        .Cells(ligcible + 5, colcible).Value = TotalLundi.Value
        .Cells(ligcible + 6, colcible).Value = TxtBqHrL.Value
        .Cells(ligcible + 7, colcible).Value = Application.Text(TotalGeneral, "[h]:mm") 'TimeValue(TotalGeneral.Value) * 24
        .Cells(ligcible + 8, colcible).Value = Application.Text(TotalAbs, "[h]:mm") 'TimeValue(TotalAbs.Value) * 24
 
Hello

Comme indiqué dans l'autre post.. le contenu d'un textbox est du texte
donc déjà.. textbox.value n'a pas vraiment de sens==> et faire une "opération" sur du texte.. ca ne marche pas
au lieu de timevalue (qui n'aime pas les durées >24h, je crois) , utilise application.text
VB:
With Sheets("ArchivesHrs")
    'On Archive le Lundi
        .Cells(ligcible, colcible).Value = Abs1.Value
        .Cells(ligcible + 1, colcible).Value = T1.Value
        .Cells(ligcible + 2, colcible).Value = T2.Value
        .Cells(ligcible + 3, colcible).Value = T3.Value
        .Cells(ligcible + 4, colcible).Value = T4.Value
        .Cells(ligcible + 5, colcible).Value = TotalLundi.Value
        .Cells(ligcible + 6, colcible).Value = TxtBqHrL.Value
        .Cells(ligcible + 7, colcible).Value = Application.Text(TotalGeneral, "[h]:mm") 'TimeValue(TotalGeneral.Value) * 24
        .Cells(ligcible + 8, colcible).Value = Application.Text(TotalAbs, "[h]:mm") 'TimeValue(TotalAbs.Value) * 24
Bonsoir vgendron,
Tout d'abord merci pour la réponse, en fait ce que j'aimerais c'est que si le total général est de 38:30, lors de l'archive, j'ai 38,5
Je me suis peut-être mal expliqué.
Merci beaucoup
 
Hi,

Prop :
VB:
        ' ***********************************************************************************
        .Cells(ligcible + 7, colcible).Value = TotalGeneral.Value
        .Cells(ligcible + 7, colcible).Value2 = 24 * .Cells(ligcible + 7, colcible).Value2
        .Cells(ligcible + 7, colcible).NumberFormat = "0.00"
        ' ***********************************************************************************
        .Cells(ligcible + 8, colcible).Value = TotalAbs.Value
        .Cells(ligcible + 8, colcible).Value2 = 24 * .Cells(ligcible + 8, colcible).Value2
        .Cells(ligcible + 8, colcible).NumberFormat = "0.00"
        ' ***********************************************************************************
 
Hi,

Prop :
VB:
        ' ***********************************************************************************
        .Cells(ligcible + 7, colcible).Value = TotalGeneral.Value
        .Cells(ligcible + 7, colcible).Value2 = 24 * .Cells(ligcible + 7, colcible).Value2
        .Cells(ligcible + 7, colcible).NumberFormat = "0.00"
        ' ***********************************************************************************
        .Cells(ligcible + 8, colcible).Value = TotalAbs.Value
        .Cells(ligcible + 8, colcible).Value2 = 24 * .Cells(ligcible + 8, colcible).Value2
        .Cells(ligcible + 8, colcible).NumberFormat = "0.00"
        ' ***********************************************************************************
hello Toofatboy,
Merci beaucoup, ça fonctionne nickel!!!
Bonne journée sous la neige.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Retour