Arrondi des heures prestées

Bonjour,

J'aimerais arrondir les heures prestées de la façon suivante :

0h30 à 0h40 = 0h30 0h41 à 1h10 = 1h00

1h11 à 1h40 = 1h30 1h41 à 2h10 = 2h00

etc...

Quelqu'un a t'il une solution ?

Merci d'avance.

bonjour,

une proposition

=SI(A1<1/48;0;PLANCHER(A1-11/1440;1/48)+1/48)

Merci pour ta réponse.

Toutefois, cela ne semble pas fonctionner.

re-bonjour,

cela semble pourtant correspondre à ce que tu as demandé. Peux-tu expliquer ce qui ne fonctionne pas ou mettre un fichier exemple représentatif ?

2marq.xlsx (15.21 Ko)

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,

Pour h2so4,

Dans ton exemple, si je prends les 30 premières lignes du fichier, il arrondi à 0h00;

Or, ma demande, et je me suis mal expliqué, j'aurais souhaité :

ligne 1 à 11 00h00

ligne 12 à 41 00h30

ligne 42 à 71 01h00

etc

Pour 3GB

Merci pour ta réponse, mais là, c'est trop compliqué pour moi, je n'y comprend rien.....

Bonjour,

Pour l'essai, je vous envoie un fichier test mais je comprends que vous cherchiez à faire autrement.

Cdlt,

Edit : Et au cas où, par formule, toujours sur la base d'une heure en texte avec un h séparateur :

=SI( CNUM(DROITE(A2;NBCAR(A2)-CHERCHE("h";A2)))>40;GAUCHE(A2;CHERCHE("h";A2)-1)+1&"h00";
SI(CNUM(DROITE(A2;NBCAR(A2)-CHERCHE("h";A2)))>10;GAUCHE(A2;CHERCHE("h";A2)-1)&"h30";GAUCHE(A2;CHERCHE("h";A2)-1)&"h00"))

bonjour,

voici une correction

2marq.xlsx (16.54 Ko)

Désolé les gars, je suis obligé de reporter cela à demain.

Merci.

Rechercher des sujets similaires à "arrondi heures prestees"