Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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:

ivan27

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

Re bonsoir,

La demande était en VBA...

Sub Arrondir()
[B1].Value = Application.WorksheetFunction.RoundUp(Range("A1") * 60 * 24 * 2, 0) / 60 / 24 / 2
End Sub
 

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ésentje 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...
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…