bonjour à tous,
un champ de formulaire m'affiche une duree calculée en format hh:mm, pour
plus de simplicité j'aurais besoin de voir la valeur s'exprimer en minutes.
Y-a-t'il un format à appliquer comme pour les dates, du genre :
CLong([DateDebut])
merci d'avance
Ok, mais tu as une autre solution, qui est de modifier la fonction pour qu'elle ne renvoie que les minutes.
remplace d'abord cette ligne Function fnTempsEcoule(debut, fin) As Date par Function fnTempsEcoule(debut,fin) as Long
et l'avant-dernière ligne fnTempsEcoule = bteHeure & ":" & bteMinute par ces deux lignes REM fnTempsEcoule=bteHeure & ":" &bteMinute fnTempsEcoule=intLaps
Tu retires le format Date abrégée du champ du formulaire et tu mets uniquement DUREE dans le controle source. Tu auras un temps en minutes seulement.
bon... desole, je patauge grave... ça ne veux rien savoir. le mieux est peut-etre que je t'envoie le fichier par mail (260Ko) , qu'est-ce que tu en penses ?
Bonjour, as-tu retiré le format Date Abrégée et ajoute bien le signe = devant la formule
le champ [duree] de mon formulaire alimente par le [champ calcule] de ma requete m'affiche par exemple 00:25 , (soit effectivement une duree de 25 mns) ; le controle source est inscrit DUREE (calcul de ma requete) mais quand j'y place ta formule j'ai un message d'erreur dans le champ ?
Ok, d'après ce que je comprends la fonction transforme déjà des minutes en heures:minutes. retires le format date abregee du champ ilm et dans la propriete source controle écris : =left(duree;2)*60+mid(duree;4;2)
voici la fonction qui effectue le calcul :
Function fnTempsEcoule(debut, fin) As Date If IsNull(debut) Or IsNull(fin) Then fnTempsEcoule = 0 Exit Function End If Dim bteHeure As Byte, bteMinute As Byte, intLaps As Integer intLaps = DateDiff("n", [debut], IIf([fin] < [debut], DateAdd("n", 1440, [fin]), [fin])) bteHeure = intLaps 60 bteMinute = intLaps Mod 60 fnTempsEcoule = bteHeure & ":" & bteMinute End Function
ch'tite erreur dans la formule; hop je corrige =int(left(calcul;len(calcul)-3))*60+ int(right(calcul;2)) il faut lire len(calcul)-3 et non len(calcul)-2 comme je l'avais écrit.
Bonjour, peux-tu vérifier la propriété Format du controle duree avant tout. Puis tu essaies en plaçant cette formule dans la propriété control source : =int(left(calcul;len(calcul)-2))*60+ int(right(calcul;2)) Remplace calcul par le nom du champ calculé
Tu dois transformer le format "hh:mm" soit dans la requete soit dans le formulaire cela dépend des champs servant au calcul. Que contiennent exactement ces champs et quel est leur format ?
tout d'abord merci pour ta reponse Ilan, mais je ne trouve pas à quel endroit je doit placer la formule que tu as proposee ; car dans la requete qui alimente mon formulaire j'ai deja le champ calculé... et dans le formulaire... au niveau du controle "duree" je ne vois pas dans quel champ de propriete placer la formule.
Bonjour, en multipliant les heures par 60 et en les ajoutant au minutes tu obtiendras ce que tu cherches. Dans ton champ les dizaines et les unités sont les minutes, tandis que les centaines et milliers sont les heures. Bref tu peux faire ceci Si ton champ est au format hh:mm c'est que la valeur numérique sans format s'écrit hhmm. tu peux écrire un truc du genre : =int(left(calcul,len(calcul)-2))*60+ int(right(calcul,2))
où
int(left(calcul,len(calcul)-2))*60 represente les heures en minutes et int(righ(calcul,2)) represente les minutes
bonjour à tous, un champ de formulaire m'affiche une duree calculée en format hh:mm, pour plus de simplicité j'aurais besoin de voir la valeur s'exprimer en minutes. Y-a-t'il un format à appliquer comme pour les dates, du genre : CLong([DateDebut]) merci d'avance
Ok, mais tu as une autre solution, qui est de modifier la fonction pour
qu'elle ne renvoie que les minutes.
remplace d'abord cette ligne
Function fnTempsEcoule(debut, fin) As Date
par
Function fnTempsEcoule(debut,fin) as Long
et l'avant-dernière ligne
fnTempsEcoule = bteHeure & ":" & bteMinute
par ces deux lignes
REM fnTempsEcoule=bteHeure & ":" &bteMinute
fnTempsEcoule=intLaps
Tu retires le format Date abrégée du champ du formulaire et tu mets
uniquement DUREE dans le controle source. Tu auras un temps en minutes
seulement.
bon... desole, je patauge grave... ça ne veux rien savoir. le mieux est
peut-etre que je t'envoie le fichier par mail (260Ko) , qu'est-ce que tu en
penses ?
Bonjour, as-tu retiré le format Date Abrégée et ajoute bien le signe = devant
la formule
le champ [duree] de mon formulaire alimente par le [champ calcule] de ma
requete m'affiche par exemple 00:25 , (soit effectivement une duree de 25
mns) ; le controle source est inscrit DUREE (calcul de ma requete) mais quand
j'y place ta formule j'ai un message d'erreur dans le champ ?
Ok, d'après ce que je comprends la fonction transforme déjà des minutes en
heures:minutes.
retires le format date abregee du champ ilm et dans la propriete source
controle écris :
=left(duree;2)*60+mid(duree;4;2)
voici la fonction qui effectue le calcul :
Function fnTempsEcoule(debut, fin) As Date
If IsNull(debut) Or IsNull(fin) Then
fnTempsEcoule = 0
Exit Function
End If
Dim bteHeure As Byte, bteMinute As Byte, intLaps As Integer
intLaps = DateDiff("n", [debut], IIf([fin] < [debut], DateAdd("n", 1440,
[fin]), [fin]))
bteHeure = intLaps 60
bteMinute = intLaps Mod 60
fnTempsEcoule = bteHeure & ":" & bteMinute
End Function
ch'tite erreur dans la formule; hop je corrige
=int(left(calcul;len(calcul)-3))*60+ int(right(calcul;2))
il faut lire len(calcul)-3 et non len(calcul)-2 comme je l'avais écrit.
Bonjour, peux-tu vérifier la propriété Format du controle duree avant tout.
Puis tu essaies en plaçant cette formule dans la propriété control source :
=int(left(calcul;len(calcul)-2))*60+ int(right(calcul;2))
Remplace calcul par le nom du champ calculé
Tu dois transformer le format "hh:mm" soit dans la requete soit dans le
formulaire cela dépend des champs servant au calcul. Que contiennent
exactement ces champs et quel est leur format ?
tout d'abord merci pour ta reponse Ilan,
mais je ne trouve pas à quel endroit je doit placer la formule que tu as
proposee ; car dans la requete qui alimente mon formulaire j'ai deja le champ
calculé... et dans le formulaire... au niveau du controle "duree" je ne vois
pas dans quel champ de propriete placer la formule.
Bonjour,
en multipliant les heures par 60 et en les ajoutant au minutes tu
obtiendras ce que tu cherches.
Dans ton champ les dizaines et les unités sont les minutes, tandis que les
centaines et milliers sont les heures.
Bref tu peux faire ceci
Si ton champ est au format hh:mm c'est que la valeur numérique sans format
s'écrit hhmm.
tu peux écrire un truc du genre :
=int(left(calcul,len(calcul)-2))*60+ int(right(calcul,2))
où
int(left(calcul,len(calcul)-2))*60 represente les heures en minutes et
int(righ(calcul,2)) represente les minutes
bonjour à tous,
un champ de formulaire m'affiche une duree calculée en format hh:mm, pour
plus de simplicité j'aurais besoin de voir la valeur s'exprimer en minutes.
Y-a-t'il un format à appliquer comme pour les dates, du genre :
CLong([DateDebut])
merci d'avance
Ok, mais tu as une autre solution, qui est de modifier la fonction pour qu'elle ne renvoie que les minutes.
remplace d'abord cette ligne Function fnTempsEcoule(debut, fin) As Date par Function fnTempsEcoule(debut,fin) as Long
et l'avant-dernière ligne fnTempsEcoule = bteHeure & ":" & bteMinute par ces deux lignes REM fnTempsEcoule=bteHeure & ":" &bteMinute fnTempsEcoule=intLaps
Tu retires le format Date abrégée du champ du formulaire et tu mets uniquement DUREE dans le controle source. Tu auras un temps en minutes seulement.
bon... desole, je patauge grave... ça ne veux rien savoir. le mieux est peut-etre que je t'envoie le fichier par mail (260Ko) , qu'est-ce que tu en penses ?
Bonjour, as-tu retiré le format Date Abrégée et ajoute bien le signe = devant la formule
le champ [duree] de mon formulaire alimente par le [champ calcule] de ma requete m'affiche par exemple 00:25 , (soit effectivement une duree de 25 mns) ; le controle source est inscrit DUREE (calcul de ma requete) mais quand j'y place ta formule j'ai un message d'erreur dans le champ ?
Ok, d'après ce que je comprends la fonction transforme déjà des minutes en heures:minutes. retires le format date abregee du champ ilm et dans la propriete source controle écris : =left(duree;2)*60+mid(duree;4;2)
voici la fonction qui effectue le calcul :
Function fnTempsEcoule(debut, fin) As Date If IsNull(debut) Or IsNull(fin) Then fnTempsEcoule = 0 Exit Function End If Dim bteHeure As Byte, bteMinute As Byte, intLaps As Integer intLaps = DateDiff("n", [debut], IIf([fin] < [debut], DateAdd("n", 1440, [fin]), [fin])) bteHeure = intLaps 60 bteMinute = intLaps Mod 60 fnTempsEcoule = bteHeure & ":" & bteMinute End Function
ch'tite erreur dans la formule; hop je corrige =int(left(calcul;len(calcul)-3))*60+ int(right(calcul;2)) il faut lire len(calcul)-3 et non len(calcul)-2 comme je l'avais écrit.
Bonjour, peux-tu vérifier la propriété Format du controle duree avant tout. Puis tu essaies en plaçant cette formule dans la propriété control source : =int(left(calcul;len(calcul)-2))*60+ int(right(calcul;2)) Remplace calcul par le nom du champ calculé
Tu dois transformer le format "hh:mm" soit dans la requete soit dans le formulaire cela dépend des champs servant au calcul. Que contiennent exactement ces champs et quel est leur format ?
tout d'abord merci pour ta reponse Ilan, mais je ne trouve pas à quel endroit je doit placer la formule que tu as proposee ; car dans la requete qui alimente mon formulaire j'ai deja le champ calculé... et dans le formulaire... au niveau du controle "duree" je ne vois pas dans quel champ de propriete placer la formule.
Bonjour, en multipliant les heures par 60 et en les ajoutant au minutes tu obtiendras ce que tu cherches. Dans ton champ les dizaines et les unités sont les minutes, tandis que les centaines et milliers sont les heures. Bref tu peux faire ceci Si ton champ est au format hh:mm c'est que la valeur numérique sans format s'écrit hhmm. tu peux écrire un truc du genre : =int(left(calcul,len(calcul)-2))*60+ int(right(calcul,2))
où
int(left(calcul,len(calcul)-2))*60 represente les heures en minutes et int(righ(calcul,2)) represente les minutes
bonjour à tous, un champ de formulaire m'affiche une duree calculée en format hh:mm, pour plus de simplicité j'aurais besoin de voir la valeur s'exprimer en minutes. Y-a-t'il un format à appliquer comme pour les dates, du genre : CLong([DateDebut]) merci d'avance
ptkppr
Je craque... LOL ça ne veut rien savoit !
Ok, mais tu as une autre solution, qui est de modifier la fonction pour qu'elle ne renvoie que les minutes.
remplace d'abord cette ligne Function fnTempsEcoule(debut, fin) As Date par Function fnTempsEcoule(debut,fin) as Long
et l'avant-dernière ligne fnTempsEcoule = bteHeure & ":" & bteMinute par ces deux lignes REM fnTempsEcoule=bteHeure & ":" &bteMinute fnTempsEcoule=intLaps
Tu retires le format Date abrégée du champ du formulaire et tu mets uniquement DUREE dans le controle source. Tu auras un temps en minutes seulement.
bon... desole, je patauge grave... ça ne veux rien savoir. le mieux est peut-etre que je t'envoie le fichier par mail (260Ko) , qu'est-ce que tu en penses ?
Bonjour, as-tu retiré le format Date Abrégée et ajoute bien le signe = devant la formule
le champ [duree] de mon formulaire alimente par le [champ calcule] de ma requete m'affiche par exemple 00:25 , (soit effectivement une duree de 25 mns) ; le controle source est inscrit DUREE (calcul de ma requete) mais quand j'y place ta formule j'ai un message d'erreur dans le champ ?
Ok, d'après ce que je comprends la fonction transforme déjà des minutes en heures:minutes. retires le format date abregee du champ ilm et dans la propriete source controle écris : =left(duree;2)*60+mid(duree;4;2)
voici la fonction qui effectue le calcul :
Function fnTempsEcoule(debut, fin) As Date If IsNull(debut) Or IsNull(fin) Then fnTempsEcoule = 0 Exit Function End If Dim bteHeure As Byte, bteMinute As Byte, intLaps As Integer intLaps = DateDiff("n", [debut], IIf([fin] < [debut], DateAdd("n", 1440, [fin]), [fin])) bteHeure = intLaps 60 bteMinute = intLaps Mod 60 fnTempsEcoule = bteHeure & ":" & bteMinute End Function
ch'tite erreur dans la formule; hop je corrige =int(left(calcul;len(calcul)-3))*60+ int(right(calcul;2)) il faut lire len(calcul)-3 et non len(calcul)-2 comme je l'avais écrit.
Bonjour, peux-tu vérifier la propriété Format du controle duree avant tout. Puis tu essaies en plaçant cette formule dans la propriété control source : =int(left(calcul;len(calcul)-2))*60+ int(right(calcul;2)) Remplace calcul par le nom du champ calculé
Tu dois transformer le format "hh:mm" soit dans la requete soit dans le formulaire cela dépend des champs servant au calcul. Que contiennent exactement ces champs et quel est leur format ?
tout d'abord merci pour ta reponse Ilan, mais je ne trouve pas à quel endroit je doit placer la formule que tu as proposee ; car dans la requete qui alimente mon formulaire j'ai deja le champ calculé... et dans le formulaire... au niveau du controle "duree" je ne vois pas dans quel champ de propriete placer la formule.
Bonjour, en multipliant les heures par 60 et en les ajoutant au minutes tu obtiendras ce que tu cherches. Dans ton champ les dizaines et les unités sont les minutes, tandis que les centaines et milliers sont les heures. Bref tu peux faire ceci Si ton champ est au format hh:mm c'est que la valeur numérique sans format s'écrit hhmm. tu peux écrire un truc du genre : =int(left(calcul,len(calcul)-2))*60+ int(right(calcul,2))
où
int(left(calcul,len(calcul)-2))*60 represente les heures en minutes et int(righ(calcul,2)) represente les minutes
bonjour à tous, un champ de formulaire m'affiche une duree calculée en format hh:mm, pour plus de simplicité j'aurais besoin de voir la valeur s'exprimer en minutes. Y-a-t'il un format à appliquer comme pour les dates, du genre : CLong([DateDebut]) merci d'avance
Je craque... LOL
ça ne veut rien savoit !
Ok, mais tu as une autre solution, qui est de modifier la fonction pour
qu'elle ne renvoie que les minutes.
remplace d'abord cette ligne
Function fnTempsEcoule(debut, fin) As Date
par
Function fnTempsEcoule(debut,fin) as Long
et l'avant-dernière ligne
fnTempsEcoule = bteHeure & ":" & bteMinute
par ces deux lignes
REM fnTempsEcoule=bteHeure & ":" &bteMinute
fnTempsEcoule=intLaps
Tu retires le format Date abrégée du champ du formulaire et tu mets
uniquement DUREE dans le controle source. Tu auras un temps en minutes
seulement.
bon... desole, je patauge grave... ça ne veux rien savoir. le mieux est
peut-etre que je t'envoie le fichier par mail (260Ko) , qu'est-ce que tu en
penses ?
Bonjour, as-tu retiré le format Date Abrégée et ajoute bien le signe = devant
la formule
le champ [duree] de mon formulaire alimente par le [champ calcule] de ma
requete m'affiche par exemple 00:25 , (soit effectivement une duree de 25
mns) ; le controle source est inscrit DUREE (calcul de ma requete) mais quand
j'y place ta formule j'ai un message d'erreur dans le champ ?
Ok, d'après ce que je comprends la fonction transforme déjà des minutes en
heures:minutes.
retires le format date abregee du champ ilm et dans la propriete source
controle écris :
=left(duree;2)*60+mid(duree;4;2)
voici la fonction qui effectue le calcul :
Function fnTempsEcoule(debut, fin) As Date
If IsNull(debut) Or IsNull(fin) Then
fnTempsEcoule = 0
Exit Function
End If
Dim bteHeure As Byte, bteMinute As Byte, intLaps As Integer
intLaps = DateDiff("n", [debut], IIf([fin] < [debut], DateAdd("n", 1440,
[fin]), [fin]))
bteHeure = intLaps 60
bteMinute = intLaps Mod 60
fnTempsEcoule = bteHeure & ":" & bteMinute
End Function
ch'tite erreur dans la formule; hop je corrige
=int(left(calcul;len(calcul)-3))*60+ int(right(calcul;2))
il faut lire len(calcul)-3 et non len(calcul)-2 comme je l'avais écrit.
Bonjour, peux-tu vérifier la propriété Format du controle duree avant tout.
Puis tu essaies en plaçant cette formule dans la propriété control source :
=int(left(calcul;len(calcul)-2))*60+ int(right(calcul;2))
Remplace calcul par le nom du champ calculé
Tu dois transformer le format "hh:mm" soit dans la requete soit dans le
formulaire cela dépend des champs servant au calcul. Que contiennent
exactement ces champs et quel est leur format ?
tout d'abord merci pour ta reponse Ilan,
mais je ne trouve pas à quel endroit je doit placer la formule que tu as
proposee ; car dans la requete qui alimente mon formulaire j'ai deja le champ
calculé... et dans le formulaire... au niveau du controle "duree" je ne vois
pas dans quel champ de propriete placer la formule.
Bonjour,
en multipliant les heures par 60 et en les ajoutant au minutes tu
obtiendras ce que tu cherches.
Dans ton champ les dizaines et les unités sont les minutes, tandis que les
centaines et milliers sont les heures.
Bref tu peux faire ceci
Si ton champ est au format hh:mm c'est que la valeur numérique sans format
s'écrit hhmm.
tu peux écrire un truc du genre :
=int(left(calcul,len(calcul)-2))*60+ int(right(calcul,2))
où
int(left(calcul,len(calcul)-2))*60 represente les heures en minutes et
int(righ(calcul,2)) represente les minutes
bonjour à tous,
un champ de formulaire m'affiche une duree calculée en format hh:mm, pour
plus de simplicité j'aurais besoin de voir la valeur s'exprimer en minutes.
Y-a-t'il un format à appliquer comme pour les dates, du genre :
CLong([DateDebut])
merci d'avance
Ok, mais tu as une autre solution, qui est de modifier la fonction pour qu'elle ne renvoie que les minutes.
remplace d'abord cette ligne Function fnTempsEcoule(debut, fin) As Date par Function fnTempsEcoule(debut,fin) as Long
et l'avant-dernière ligne fnTempsEcoule = bteHeure & ":" & bteMinute par ces deux lignes REM fnTempsEcoule=bteHeure & ":" &bteMinute fnTempsEcoule=intLaps
Tu retires le format Date abrégée du champ du formulaire et tu mets uniquement DUREE dans le controle source. Tu auras un temps en minutes seulement.
bon... desole, je patauge grave... ça ne veux rien savoir. le mieux est peut-etre que je t'envoie le fichier par mail (260Ko) , qu'est-ce que tu en penses ?
Bonjour, as-tu retiré le format Date Abrégée et ajoute bien le signe = devant la formule
le champ [duree] de mon formulaire alimente par le [champ calcule] de ma requete m'affiche par exemple 00:25 , (soit effectivement une duree de 25 mns) ; le controle source est inscrit DUREE (calcul de ma requete) mais quand j'y place ta formule j'ai un message d'erreur dans le champ ?
Ok, d'après ce que je comprends la fonction transforme déjà des minutes en heures:minutes. retires le format date abregee du champ ilm et dans la propriete source controle écris : =left(duree;2)*60+mid(duree;4;2)
voici la fonction qui effectue le calcul :
Function fnTempsEcoule(debut, fin) As Date If IsNull(debut) Or IsNull(fin) Then fnTempsEcoule = 0 Exit Function End If Dim bteHeure As Byte, bteMinute As Byte, intLaps As Integer intLaps = DateDiff("n", [debut], IIf([fin] < [debut], DateAdd("n", 1440, [fin]), [fin])) bteHeure = intLaps 60 bteMinute = intLaps Mod 60 fnTempsEcoule = bteHeure & ":" & bteMinute End Function
ch'tite erreur dans la formule; hop je corrige =int(left(calcul;len(calcul)-3))*60+ int(right(calcul;2)) il faut lire len(calcul)-3 et non len(calcul)-2 comme je l'avais écrit.
Bonjour, peux-tu vérifier la propriété Format du controle duree avant tout. Puis tu essaies en plaçant cette formule dans la propriété control source : =int(left(calcul;len(calcul)-2))*60+ int(right(calcul;2)) Remplace calcul par le nom du champ calculé
Tu dois transformer le format "hh:mm" soit dans la requete soit dans le formulaire cela dépend des champs servant au calcul. Que contiennent exactement ces champs et quel est leur format ?
tout d'abord merci pour ta reponse Ilan, mais je ne trouve pas à quel endroit je doit placer la formule que tu as proposee ; car dans la requete qui alimente mon formulaire j'ai deja le champ calculé... et dans le formulaire... au niveau du controle "duree" je ne vois pas dans quel champ de propriete placer la formule.
Bonjour, en multipliant les heures par 60 et en les ajoutant au minutes tu obtiendras ce que tu cherches. Dans ton champ les dizaines et les unités sont les minutes, tandis que les centaines et milliers sont les heures. Bref tu peux faire ceci Si ton champ est au format hh:mm c'est que la valeur numérique sans format s'écrit hhmm. tu peux écrire un truc du genre : =int(left(calcul,len(calcul)-2))*60+ int(right(calcul,2))
où
int(left(calcul,len(calcul)-2))*60 represente les heures en minutes et int(righ(calcul,2)) represente les minutes
bonjour à tous, un champ de formulaire m'affiche une duree calculée en format hh:mm, pour plus de simplicité j'aurais besoin de voir la valeur s'exprimer en minutes. Y-a-t'il un format à appliquer comme pour les dates, du genre : CLong([DateDebut]) merci d'avance