OVH Cloud OVH Cloud

histoire d'heures vba

11 réponses
Avatar
nolain
bonjour
je démarre des petits TP sur chez.com/rti

en voilà un

function heure_decimale(H,M,S)
heure_decimale=H+(M+(S/60))/60
end function

en A1, j'écris 1 h 30' 45" sous la forme : 1:30:45 (format heure)
en A2 je lui demande =heure_decimale(a1)....................et là excel me
renvoie une engueulade : nom?

il y a quelque chose que je ne capte pas

merci pour votre aide

10 réponses

1 2
Avatar
CAP2
Salut,

ta fonction heur_decimale est définie pour fonctionner avec 3 arguments (H,
M et S).
Or quand tu passes sur Excel et que tu fais ton =heure_decimale(a1), tu ne
passes enfait qu'un seul argument à ta fonction.
Ta cellule A1 contient peut-être bien une heure cohérente en heures, minutes
et secondes, mais ta fonction est déclarée comme ayant besoin de 3
arguments.
Ce qu'il faudrait c'est que tu aies :
en A1 : l'heure
en A2 : les minutes
en A3 : les secondes
et faire =heure_decimale(A1;A2;A3)

C'est pas pratique, et ça convient peut-être pas, mais c'est pour ça que ta
fonction ne tourne pas...

J'espère avoir répondu...

A+

CAP2
Avatar
Pierre CFI [mvp]
bonjour
ta fonction attends 3 arguments

=heure_decimale(HEURE(A1);MINUTE(A1);SECONDE(A1))
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"nolain" enlever coucou> a écrit dans le message de news:
bonjour
je démarre des petits TP sur chez.com/rti

en voilà un

function heure_decimale(H,M,S)
heure_decimale=H+(M+(S/60))/60
end function

en A1, j'écris 1 h 30' 45" sous la forme : 1:30:45 (format heure)
en A2 je lui demande =heure_decimale(a1)....................et là excel me
renvoie une engueulade : nom?

il y a quelque chose que je ne capte pas

merci pour votre aide




Avatar
CAP2
Pour compléter, tu peux utiliser les fonctions HEURE MINUTE et SECONDE dans
ta fonction originale Comme ça tu restes avec l'heure en A1 :
Ca donne un truc du style
=heure_decimale(HEURE(A1);MINUTE(A1);SECONDE(A1))

Et voilà

CAP2

"CAP2" a écrit dans le message de news:
u4Q$
Salut,

ta fonction heur_decimale est définie pour fonctionner avec 3 arguments
(H,

M et S).
Or quand tu passes sur Excel et que tu fais ton =heure_decimale(a1), tu ne
passes enfait qu'un seul argument à ta fonction.
Ta cellule A1 contient peut-être bien une heure cohérente en heures,
minutes

et secondes, mais ta fonction est déclarée comme ayant besoin de 3
arguments.
Ce qu'il faudrait c'est que tu aies :
en A1 : l'heure
en A2 : les minutes
en A3 : les secondes
et faire =heure_decimale(A1;A2;A3)

C'est pas pratique, et ça convient peut-être pas, mais c'est pour ça que
ta

fonction ne tourne pas...

J'espère avoir répondu...

A+

CAP2




Avatar
papou
Bonjour
Si je ne me trompe pas la formule dans ta cellule doit être :
=heure_decimale(heure(A1);minute(A1);Seconde(A1))
Cordialement
Pascal

"nolain" enlever coucou> a écrit dans le message
de news:
bonjour
je démarre des petits TP sur chez.com/rti

en voilà un

function heure_decimale(H,M,S)
heure_decimale=H+(M+(S/60))/60
end function

en A1, j'écris 1 h 30' 45" sous la forme : 1:30:45 (format heure)
en A2 je lui demande =heure_decimale(a1)....................et là excel
me

renvoie une engueulade : nom?

il y a quelque chose que je ne capte pas

merci pour votre aide




Avatar
Jacky
Bonjour Nolain

en a2
¡*24 format standard ne suffit pas ??

salutations
JJ

"nolain" enlever coucou> a écrit dans le message
de news:
bonjour
je démarre des petits TP sur chez.com/rti

en voilà un

function heure_decimale(H,M,S)
heure_decimale=H+(M+(S/60))/60
end function

en A1, j'écris 1 h 30' 45" sous la forme : 1:30:45 (format heure)
en A2 je lui demande =heure_decimale(a1)....................et là excel
me

renvoie une engueulade : nom?

il y a quelque chose que je ne capte pas

merci pour votre aide




Avatar
nolain
super merci
cela fonctionne avec votre corrigé (heure(A1);(minute(A1) etc

par contre, ça ne colle pas avec la proposition de cap2 (sur trois cellules)

l'essentiel c'est qu'une formule fonctionne

encore merci

"Pierre CFI [mvp]" a écrit dans le message de
news:
bonjour
ta fonction attends 3 arguments

=heure_decimale(HEURE(A1);MINUTE(A1);SECONDE(A1))
--
Pierre CFI
MVP Microsoft Access
Mail : http://cerbermail.com/?z0SN8cN53B

Site pour bien commencer
http://users.skynet.be/mpfa/
Site perso
http://access.cfi.free.fr
"nolain" enlever coucou> a écrit dans le message
de news:

bonjour
je démarre des petits TP sur chez.com/rti

en voilà un

function heure_decimale(H,M,S)
heure_decimale=H+(M+(S/60))/60
end function

en A1, j'écris 1 h 30' 45" sous la forme : 1:30:45 (format heure)
en A2 je lui demande =heure_decimale(a1)....................et là
excel me


renvoie une engueulade : nom?

il y a quelque chose que je ne capte pas

merci pour votre aide








Avatar
papou
Bonjour Jacky
Ben c'est ce que je me suis retenu de dire ;-)
Mais à première vue notre ami est en pleine formation...
Cordialement
Pascal

"Jacky" a écrit dans le message
de news:e1v$
Bonjour Nolain

en a2
¡*24 format standard ne suffit pas ??

salutations
JJ

"nolain" enlever coucou> a écrit dans le message
de news:
bonjour
je démarre des petits TP sur chez.com/rti

en voilà un

function heure_decimale(H,M,S)
heure_decimale=H+(M+(S/60))/60
end function

en A1, j'écris 1 h 30' 45" sous la forme : 1:30:45 (format heure)
en A2 je lui demande =heure_decimale(a1)....................et là
excel


me
renvoie une engueulade : nom?

il y a quelque chose que je ne capte pas

merci pour votre aide








Avatar
Jacky
Salut Pascal

Mais à première vue notre ami est en pleine formation...
Alors dans ce cas......


Une autre pour la formation ;o)
'---------
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If [a1] = "" Then Exit Sub
[A2].NumberFormat = "General"
[A2] = [a1] * 24
End Sub
'-----------
Salutations
JJ

"papou" <cestpasbonpapou@çanonplus44.fr> a écrit dans le message de
news:
Bonjour Jacky
Ben c'est ce que je me suis retenu de dire ;-)
Mais à première vue notre ami est en pleine formation...
Cordialement
Pascal

"Jacky" a écrit dans le message
de news:e1v$
Bonjour Nolain

en a2
¡*24 format standard ne suffit pas ??

salutations
JJ

"nolain" enlever coucou> a écrit dans le
message


de news:
bonjour
je démarre des petits TP sur chez.com/rti

en voilà un

function heure_decimale(H,M,S)
heure_decimale=H+(M+(S/60))/60
end function

en A1, j'écris 1 h 30' 45" sous la forme : 1:30:45 (format heure)
en A2 je lui demande =heure_decimale(a1)....................et là
excel


me
renvoie une engueulade : nom?

il y a quelque chose que je ne capte pas

merci pour votre aide












Avatar
nolain
merci!!!!!!!!!!!!!!!!!
j'ai fait un gros gloups avec la formule a1*24 !!!!!!!!!!!
si j'en avais besoin, ce serait certainement ce que je prendrais
mais pour me familiariser avec le vba je prends la function sous vba
par contre, je n'ai pas réussi avec la a1*24 dans le vba

encore merci

"Jacky" a écrit dans le message
de news:%
Salut Pascal

Mais à première vue notre ami est en pleine formation...
Alors dans ce cas......


Une autre pour la formation ;o)
'---------
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If [a1] = "" Then Exit Sub
[A2].NumberFormat = "General"
[A2] = [a1] * 24
End Sub
'-----------
Salutations
JJ

"papou" <cestpasbonpapou@çanonplus44.fr> a écrit dans le message de
news:
Bonjour Jacky
Ben c'est ce que je me suis retenu de dire ;-)
Mais à première vue notre ami est en pleine formation...
Cordialement
Pascal

"Jacky" a écrit dans le
message


de news:e1v$
Bonjour Nolain

en a2
¡*24 format standard ne suffit pas ??

salutations
JJ

"nolain" enlever coucou> a écrit dans le
message


de news:
bonjour
je démarre des petits TP sur chez.com/rti

en voilà un

function heure_decimale(H,M,S)
heure_decimale=H+(M+(S/60))/60
end function

en A1, j'écris 1 h 30' 45" sous la forme : 1:30:45 (format heure)
en A2 je lui demande =heure_decimale(a1)....................et là
excel


me
renvoie une engueulade : nom?

il y a quelque chose que je ne capte pas

merci pour votre aide
















Avatar
Jacky
Re....
je n'ai pas réussi avec la a1*24 dans le vba



Clique droit sur l'onglet d'une feuille et choisir >visualiser le code< et
copie ceci
'-----------
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If [a1] = "" Then Exit Sub
[A2].NumberFormat = "General"
[A2] = [a1] * 24
End Sub
'-------------
A chaque changement de la sélection dans la feuille contenant le code le
calcul se serait sauf si A1 est vide!

Bon courage
JJ


"nolain" enlever coucou> a écrit dans le message
de news:%
merci!!!!!!!!!!!!!!!!!
j'ai fait un gros gloups avec la formule a1*24 !!!!!!!!!!!
si j'en avais besoin, ce serait certainement ce que je prendrais
mais pour me familiariser avec le vba je prends la function sous vba
par contre, je n'ai pas réussi avec la a1*24 dans le vba

encore merci

"Jacky" a écrit dans le message
de news:%
Salut Pascal

Mais à première vue notre ami est en pleine formation...
Alors dans ce cas......


Une autre pour la formation ;o)
'---------
Private Sub Worksheet_SelectionChange(ByVal Target As Excel.Range)
If [a1] = "" Then Exit Sub
[A2].NumberFormat = "General"
[A2] = [a1] * 24
End Sub
'-----------
Salutations
JJ

"papou" <cestpasbonpapou@çanonplus44.fr> a écrit dans le message de
news:
Bonjour Jacky
Ben c'est ce que je me suis retenu de dire ;-)
Mais à première vue notre ami est en pleine formation...
Cordialement
Pascal

"Jacky" a écrit dans le
message


de news:e1v$
Bonjour Nolain

en a2
¡*24 format standard ne suffit pas ??

salutations
JJ

"nolain" enlever coucou> a écrit dans le
message


de news:
bonjour
je démarre des petits TP sur chez.com/rti

en voilà un

function heure_decimale(H,M,S)
heure_decimale=H+(M+(S/60))/60
end function

en A1, j'écris 1 h 30' 45" sous la forme : 1:30:45 (format heure)
en A2 je lui demande =heure_decimale(a1)....................et






excel
me
renvoie une engueulade : nom?

il y a quelque chose que je ne capte pas

merci pour votre aide




















1 2