Monsieur Excel
Pour tout savoir faire sur Excel !

29 janvier 2010

Temps par service et par date

Dans un rapport, on dispose de durées d’utilisation d’un outil par service et par date. On souhaite pourvoir consulter à tout moment la durée cumulée utilisée par un service donné à une date donnée. On entre donc les paramètres en F1:F4, le résultat étant affiché en F5.

La formule de F5 est : =sommeprod((A2:A21=F4)*(B2:B21=date(F1;F2;F3))*C2:C21)

Remarque 1 – Notez que cette formule, grâce à la fonction sommeprod(), n’a pas besoin d’être matricielle. Certes, elle marche encore si on l’entre comme formule matricielle, mais pourquoi faire compliqué quand on peut faire simple...

Remarque 2 – N’oubliez pas d’attribuer le format « [hh]:mm:ss » à la cellule F5, sinon vous aurez des surprises si le temps cumulé dépasse les 24 heures.

5 Commentaire(s):

  • Je ne vois pas trop l'intérêt de saisir une date en 3 morceaux... Si on suppose l'implantation suivante :

    .....E.......................F
    1 Date.................Service
    2 30/1/2010........Production

    on peut utiliser la formule :
    =BDSOMME(A1:C21;"Durée";E1:F2)

    Personnellement, d'ailleurs je préférerais utiliser un tableau croisé qui a l'avantage de donner une vision synthétique pour tous les jours et tous les services.

    PS : pour anticiper l'objection sur "à tout moment", je n'oublierais pas de rajouter la petite procédure événementielle suivante :

    Private Sub Worksheet_Change(ByVal Target As Range)
    ActiveSheet.PivotTables(1).PivotCache.Refresh
    End Sub

    Hé oui, il fallait bien quand même un peu de VBA ! ;))))

    By Anonymous cduigou, sur 6:32 PM  

  • Ce n'était pas mon choix de mettre la date en trois morceaux, c'était simplement la façon dont le modèle de mon client était conçu : cela l'arrangeait comme cela...

    En ce qui concerne les TCDs et les macros événementielles, je reste sur ma réserve : je préfère pour ma part ne les utiliser que si je n'ai pas le choix !

    By Blogger Hervé Thiriez, sur 8:05 AM  

  • bonjour
    est il possible de calculer le temps d'un service sur le mois?
    Par exemple combien de temps le service production passe t il en janvier

    By Blogger Le moustachu, sur 8:49 AM  

  • Bien entendu, en utilisant la fonction BDSomme() et une zone de critères.

    Pour des exemples d'utilisation, voir mes articles du 15/01/09 et du 27/02/09.

    By Blogger Hervé Thiriez, sur 9:24 AM  

  • Merci énormément pour le format avec les crochets [ ] ! Ca m'enlève beaucoup de complications.

    Pour expliquer davantage, sans les précieux crochets ci-dessus, l'addition des heures sur Excel repart de 0 à chaque multiple de 24. Ainsi une somme d'heures égales à 35 affichera 11H... (35-24)

    By Anonymous Anonyme, sur 12:57 PM  

Enregistrer un commentaire

<< Accueil