Formule heure calcule pour Astreinte

Bonjour,

Dans mon fichier Astreinte, je bloque sur des calcules et j'ai besoin de votre aide.

Quand je rentre mes heures d'arrivée et de départ sur site, le calcule est plutôt simple à faire, car si je ne rentre pas de valeur, il ne me marque rien.

Mon problème et sur la partie "Total des heures Trajets" quand je fait une seule intervention le calcule est simple mais quand j'en fait plusieurs c'est plus compliqué et c'est la ou je bloque.

Par exemple comme dans le fichier, le départ de mon domicile (numéro 5) est à 9H55, entre temps j'ai fait plusieurs site, et mon retour est à 19H. (Ligne numéro 9)

donc le total du déplacement doit apparaître dans la case "Q16" comme dans mon exemple.

Il faudrait que les heures puisse ce calculer de manière automatique, et ne pas prendre en compte les cases vide non remplie.

J'espère avoir réussi à expliquer mon problème de manière convenable, et je vous remercie d'avance pour votre aide.

Bonjour,

Prenez pour habitude de mettre les heures au format hh:mm.

Cdlt

Bonjour, je vous remercie déjà pour votre rapidité, quand je teste sur la case déjà programmer, ça fonctionne parfaitement, mais quand j'utilise une autre ligne, par exemple ligne numéro 12 de mon tableau pour le départ et retour numéro 14, ça ne fonctionne pas automatiquement comme celle du dessus ?

Dans l'exemple, quand je lui dit 10:00 / 17:00 : Dans le total, il m'indique 17:00 aussi

Est t-il possible qu'il prenne en compte automatiquement des qu'il y'a des cases vides ? je vous remercie d'avance

Mettez cette formule en Q8:

=SI(P8="";"";SI(ET(O8<>"";P8<>"");P8-O8;SI(ET(O16="";P8<>"");P8-INDIRECT("O"&EQUIV(1;INDIRECT("$O$1:$O" &LIGNE()-1);1))*1)))

à tirer vers le bas

top, vraiment, Merci beaucoup !

Bonjour, le document fonctionne, mais quand j'indique une départ par exemple à 22h et que je rentre à 2h du matin le lendemain, ça m'affiche des "#######"

Comment pouvons nous corriger l'anomalie ? svp

Bonjour,

Dans ce cas, il faut intégrer les dates de la colonne C et les additionner avec les heures des colonnes O et P, ce qui donne en Q8:

=SI(P8="";"";SI(ET(O8<>"";P8<>"");P8-O8;SI(ET(O16="";P8<>"");(C8+P8)-(INDIRECT("C"&EQUIV(1;INDIRECT("$O$1:$O"&LIGNE()-1);1))+INDIRECT("O"&EQUIV(1;INDIRECT("$O$1:$O"&LIGNE()-1);1))))))

Cdlt

Bonjour, après plusieurs essais, malheureusement ça ne fonctionne toujours pas correctement, dans l'exemple, hier je suis partie en intervention. Départ, à 19H, retour à 02H00 du matin, si je marque 23:30, le calcul fonctionne, mais si je marque 02:00, ça ne fonctionne pas "#######".

Auriez vous une solution svp ?

Bonjour,

J'ai fait l'essai avec le fichier, contenant la dernière modification, ça m'indique bien 7:00.

Pourriez-vous remettre le fichier à disposition afin que je puisse voir?

Bonjour, oui pas de soucis, voici en pièce jointe le document

Bonjour,

Si l'heure d'arrivée est 18:35 le 21/02/2023, l'heure de fin à 1:30 ne peut avoir lieu que le 22/02/2023, et là, ça marche.

Je viens de m'apercevoir qu'il y avait aussi, l'adresse d'une cellule qui était erronée(mais cela n'empêchait pas de fonctionner)

revoici la formule en Q8:

=SI(P8="";"";SI(ET(O8<>"";P8<>"");P8-O8;SI(ET(O8="";P8<>"");(C8+P8)-(INDIRECT("C"&EQUIV(1;INDIRECT("$O$1:$O"&LIGNE()-1);1))+INDIRECT("O"&EQUIV(1;INDIRECT("$O$1:$O"&LIGNE()-1);1))))))

le fichier

Cdlt

je comprends le concept

Pour les dates indiquer, se sont les dates d'appel, du coup l'appel était bien du 21/02/2023

Une autre solution serait possible pour ne pas être obligé de mettre la date de retour sur le tableau ? (Car si j'ai un appel le 21, que je pars à 22h20 et que je rentre par exemple à 1h30, on sera le 22, mais sans forcément avoir reçu d'appel en date du 22 pour que la formule fonctionne)

Quitte à faire une case séparée hors de la feuille afin qu'elle ne se voit pas à la fin de l'astreinte lorsque je dois imprimer

Je vous remercie vraiment pour votre aide

Pour plus de facilité, peut t-on utiliser la fonction AM PM afin qu'il détermine si on est passer au lendemain ?

Car la date sur la première liste correspond à la date d'appel

Je vous remercie d'avance

Bonjour,

Bon, on ne va pas faire des formules trop longues ni trop compliquées, arrivé à un tel niveau de complexité, il vaut mieux fabriquer la formule avec une fonction personnalisé, ce qui simplifie l'écriture de la formule. Cette dernière en Q8 devient:

=SI(P8="";"";Total(P8))

à étirer jusqu'à Q21

Pour info: Le code de la fonction personnalisée dans le module 1 standard

Function Total(Heure_Retour As Double) As Date
    Dim j As Long, i As Long
    Dim Date_Depart As Date, Date_Retour As Date
    Dim Heure1 As Double
    i = ActiveCell.Row
    If Cells(i, "P") <> "" Then
        Date_Retour = Cells(i, "C")
        j = i
        Do While Cells(j, "O") = ""
            j = j - 1
        Loop
        Date_Depart = Cells(j, "C")
        Heure_Depart = CDbl(Cells(j, "O"))

        If Date_Depart = Date_Depart And Heure_Retour > Heure_Depart Then
            Total = CDate(Heure_Retour - Heure_Depart)
        ElseIf Date_Depart = Date_Depart And Heure_Retour < Heure_Depart Then
            Heure1 = 1 - Heure_Depart
            Total = CDate(Heure_Retour + Heure1)
        End If
    End If
End Function

Cdlt

Parfait merci beaucoup :D

Rechercher des sujets similaires à "formule heure calcule astreinte"