Bonjour marq, Salut h2so4,
J'ai l'impression que les heures sont saisies au format texte "00hmm".
Voici donc une proposition avec une fonction personnalisée (au moyen d'une expression régulière ! Encore ! ):
Function ArrondiHeures(chaine As String) As String
Dim Expreg As Object
Dim subdiv, heure, minutes
Set Expreg = CreateObject("vbscript.regexp")
With Expreg
.Global = True
.Pattern = "^\d{1,2} ?h ?[0-5]?[0-9]$"
If Not .test(chaine) Then ArrondiHeures = "00h00": Exit Function
.Pattern = "\d{1,2}"
Set subdiv = .Execute(chaine)
heure = subdiv(0)
minutes = subdiv(1)
If minutes > 10 And minutes <= 40 Then
minutes = "30"
Else
If minutes > 40 Then
heure = heure + 1
End If
minutes = "00"
End If
End With
heure = Format(heure, "00")
ArrondiHeures = heure & " h " & minutes
End Function
A appeler ainsi sur excel :
=ArrondiHeures(A1)
pour arrondir les heures en A1.
Cdlt,