arrondir un temps aux 30 secondes supérieures en VBA

gosselien

XLDnaute Barbatruc
Hello,

j'ai toujours eu un peu de mal avec les jours/heures/minutes/secondes surtout en VBA
dans une liste; je voudrais arrondir à la minute supérieure et la minute 30
donc:
08:15:33 devient 08:16:00
07:16:25 devient 07:16:30
07:19:05 devient 07:19:30
07:58:45 devient 07:59:00

Je retourne le truc depuis un moment et rien de probant

Merci de votre aide
 

Modeste geedee

XLDnaute Barbatruc
Re : arrondir un temps aux 30 secondes supérieures en VBA

Salut Patrick©

=ARRONDI.AU.MULTIPLE(A1;1/2880)
ou
=ARRONDI.AU.MULTIPLE(A1;TEMPSVAL("0:00:30"))

ou pour arrondi supérieur
tout simplement :
=(1+ENT(A1*2880))/2880

soit en VBA :
VB:
function arrondi30s(target as double) as double
dim resultat resultat as double 
resultat=(1+int(target*2880))/2880
end function
 
Dernière édition:

gosselien

XLDnaute Barbatruc
Re : arrondir un temps aux 30 secondes supérieures en VBA

Bonsoir Modeste, toto,ivan,

Merci , j'avais essayé tout ça (=PLAFOND(B2;"00:00:30") mais en vba comment traduire:

05:15:37 qui donne : 0.219178240740741 dans ma variable mais je ne peux pas mettre "00:00:30" en vba et c'est là que je bute
pour avoir ensuite 05:16:00 ?
 

gosselien

XLDnaute Barbatruc
Re : arrondir un temps aux 30 secondes supérieures en VBA

grrrr....
pour le début ça va mais à présent:(je patauge VRAIMENT avec les dates et les heures) :( :(

comment tester , pour ne pas en tenir compte, une cellule qui est < à 00:06:30 et > 23:30:00 ?
sorry mais ce n'est pas ma tasse de thé :)
 

tototiti2008

XLDnaute Barbatruc
Re : arrondir un temps aux 30 secondes supérieures en VBA

Re,

Modeste GD et moi venons de te fournir 2 exemples avec TimeValue

If Range("A1").value < timevalue("06:30:00") or Range("A1").value> timevalue("23:30:00") then

Dans la mesure où la cellule ne contient qu'une heure, pas une date et heure...
 

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 229
Messages
2 086 426
Membres
103 206
dernier inscrit
diambote