Bonjour,
Je me conforme à ré ouvrir un sujet car c'est une nouvelle question en relation avec ma précédente demande.
Donc merci Piaf et Luke, mon formulaire calcule bien les heures travaillées.
J'ai remarqué que la valeur calculheure ne se copiait pas dans le presse papier, est ce qu'il est possible de faire apparaître le calcul des heures de la même manière dans un champs utilisateur ?
Concernant la routine de calcul, celle de Piaf enregistre le résultat à la fermeture du document mais ne met pas les heures en toutes lettres, et celles de Luke fait l'inverse, j'ai bien les heures en toutes lettres mais le résultat n'est pas enregistré à la fermeture, y a t'il moyen de combiner les deux fonctions bien utiles pour mon projet ?
Merci pour votre aide et votre patience,
[Résolu][Writer] Calcul d'heures idem à champ utilisateur
Modérateur : Vilains modOOs
Règles du forum
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
Balisage obligatoire dans cette section !
Aidez-nous à vous aider au mieux en balisant correctement votre question : reportez-vous sur les règles de cette section avant de poster !
-
- Membre OOrganisé
- Messages : 67
- Inscription : 21 mars 2018 23:14
[Résolu][Writer] Calcul d'heures idem à champ utilisateur
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Dernière modification par Kilin le 02 mai 2018 17:33, modifié 2 fois.
Version: 5.4.5.1.M2
Obligation de version travail
Windows 7
Version 6.4.7.2 (x64)
Domicile
Windows 10
Obligation de version travail
Windows 7
Version 6.4.7.2 (x64)
Domicile
Windows 10
-
- GourOOu
- Messages : 5622
- Inscription : 25 nov. 2011 18:07
- Localisation : Guyane
Re: [Writer] Calcul d'heures bis
Re
Tu dois choisir soit avoir un résultat en heures minutes, soit en texte.
Si le résultat en texte suffit, remplace le contrôle champ horaire par un contrôle zone de texte (ceci pour le formulaire). A+
Tu dois choisir soit avoir un résultat en heures minutes, soit en texte.
Si le résultat en texte suffit, remplace le contrôle champ horaire par un contrôle zone de texte (ceci pour le formulaire).
OuiKilin a écrit :est ce qu'il est possible de faire apparaître le calcul des heures de la même manière dans un champs utilisateur ?
Code : Tout sélectionner
Sub Calcul
Dim oDoc As Object, oForm As Object, oDrawPage As Object
Dim TimeDeb As Date, TimeFin As Date, timeDiff As String
oDoc = ThisComponent
oDrawPage = oDoc.DrawPage
oForm = oDrawPage.Forms.GetByName("Formulaire")
TimeDeb = oDoc.TextFieldMasters.getByName("com.sun.star.text.fieldmaster.User.heuredebut").content
TimeFin = oDoc.TextFieldMasters.getByName("com.sun.star.text.fieldmaster.User.heurefin").content
TimeDiff = Format(TimeFin - TimeDeb,"HH:MM")
TimeDiff = Left(TimeDiff,2) & " heures " & Right(TimeDiff,2) & " minutes"
oForm.GetByName("calculheure").Text = timeDiff
oForm.GetByName("calculheure").Commit
oDoc.TextFieldMasters.getByName("com.sun.star.text.fieldmaster.User.calculheure").content = timeDiff
End Sub
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64
-
- Membre OOrganisé
- Messages : 67
- Inscription : 21 mars 2018 23:14
Re: [Writer] Calcul d'heures idem à champ utilisateur
Piaf, vous êtes un génie !
Merci
Merci
Version: 5.4.5.1.M2
Obligation de version travail
Windows 7
Version 6.4.7.2 (x64)
Domicile
Windows 10
Obligation de version travail
Windows 7
Version 6.4.7.2 (x64)
Domicile
Windows 10
-
- GourOOu
- Messages : 5622
- Inscription : 25 nov. 2011 18:07
- Localisation : Guyane
Re: [Résolu][Writer] Calcul d'heures idem à champ utilisateu
Re
Tu as oublié la coche pour le [Résolu]
Si tu as besoin des deux valeurs (texte et heures), tu peux combiner (en gardant le contrôle champ horaire) A+
Tu as oublié la coche pour le [Résolu]
Si tu as besoin des deux valeurs (texte et heures), tu peux combiner (en gardant le contrôle champ horaire)
Code : Tout sélectionner
Sub Calcul
Dim oDoc As Object, oForm As Object, oDrawPage As Object
Dim TimeDeb As Date, TimeFin As Date, timeDiff As Date, txttimeDiff As String
Dim dTime as New com.sun.star.util.Time
oDoc = ThisComponent
oDrawPage = oDoc.DrawPage
oForm = oDrawPage.Forms.GetByName("Formulaire")
TimeDeb = oDoc.TextFieldMasters.getByName("com.sun.star.text.fieldmaster.User.heuredebut").content
TimeFin = oDoc.TextFieldMasters.getByName("com.sun.star.text.fieldmaster.User.heurefin").content
timeDiff = TimeFin - TimeDeb
With dTime
.Hours = Hour(timeDiff)
.Minutes = Minute(timeDiff)
End With
oForm.GetByName("calculheure").Time = dTime
oForm.GetByName("calculheure").Commit
txtTimeDiff = Format(TimeFin - TimeDeb,"HH:MM")
txtTimeDiff = Left(txtTimeDiff,2) & " heures " & Right(txtTimeDiff,2) & " minutes"
oDoc.TextFieldMasters.getByName("com.sun.star.text.fieldmaster.User.calculheure").content = txtTimeDiff
End Sub
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Libre Office Version: 6.1.6 et Apache OpenOffice 4.1.6 Sur Xubuntu 18.04 AMD64