Comment définir une période d'heures ouvrées | ||
---|---|---|
Inscription: 04/10/2009
Messages:
39
Système d'exploitation: PC & Mac Version Excel utilisée: 2007, 2010, 2011 MAC |
Posté le : 04-10-2009 18h24
Bonjour à toutes et à tous!
Voilà ce qui m'amène: Dans un tableau excel, je dois mettre en valeur des "travaux" ayant dépassé 06 heures de travail après réception, en sachant que les horaires de travail vont de 08h à 20 heures en continu. Je pense utiliser des mises en forme conditionnelles mais la mise en avant des valeurs ne doit pas inclure la tranche horaire allant de 20 heures à 08 heures du matin. Comment puis-je faire?? Dans l'attente de vos conseils avisés, Cordialement, Titom |
|
|
Re: Comment définir une période d'heures ouvrées | ||
---|---|---|
Inscription: 18/05/2006
De Saône-et-Loire (71)
Messages:
1539
Système d'exploitation: PC Version Excel utilisée: 97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365 |
Posté le : 04-10-2009 18h32
Bonjour Titom1978 et bienvenue sur XLpages.com
Un petit fichier exemple avec le résultat souhaité serait une bonne idée. Cordialement, Didier_mDF
Le Webmaster La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien |
|
|
Re: Comment définir une période d'heures ouvrées | ||
---|---|---|
Inscription: 04/10/2009
Messages:
39
Système d'exploitation: PC & Mac Version Excel utilisée: 2007, 2010, 2011 MAC |
Posté le : 04-10-2009 18h45
Merci de ton accueil!
Comme demandé, voici le fichier support de ma demande! Merci d'avance pour l'aide! |
|
|
Re: Comment définir une période d'heures ouvrées | ||
---|---|---|
Inscription: 18/05/2006
De Saône-et-Loire (71)
Messages:
1539
Système d'exploitation: PC Version Excel utilisée: 97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365 |
Posté le : 04-10-2009 21h33
Re Titom1978,
Tout d'abord, si tu veux augmenter tes chances d'obtenir réponse à tes questions, je te conseille vivement d'enregistrer tes fichiers Excel dans un format compatible avec les versions Excel autres que 2007 (extension .xls). Ton sujet peut intéresser d'autres visiteurs ou intervenants qui ne possèdent malheureusement pas tous XL2007... Cela dit, tu trouveras en pièce jointe une façon de faire. Bien sûr, pour ma part, ce sera l'usage d'une Function personnalisée comme critère du format conditionnel : Function HorsDelai(T1 As Date, T2 As Date, Optional DureeHMax As Date = "06:00:00", Optional HorTMin As Date = "08:00:00", Optional HorTMax As Date = "20:00:00") As Boolean La syntaxe d'utilisation est la suivante : =HorsDelai( Cellule1 ; Cellule2 ; [DureeHMax] ; [HorTMin] : [HorTMax] ) - Cellule1 : référence de la cellule contenant la valeur Date/Heure de début - Cellule2 : référence de la cellule contenant la valeur Date/Heure de fin - DureeHMax : (facultatif) valeur horaire au format "00:00:00" représentant le délai maximum autorisé ("06:00:00" par défaut) - HorTMin : (facultatif) valeur horaire au format "00:00:00" représentant l'horaire d'ouverture de l'entreprise("08:00:00" par défaut) - HorTMin : (facultatif) valeur horaire au format "00:00:00" représentant l'horaire de fermeture de l'entreprise ("20:00:00" par défaut) Dans ton cas, tu peux donc saisir simplement : =HorsDelai(A2:B2) puisque les valeurs adoptées par défaut sont celles que tu as proposées. Dans ton exemple, j'ai appliqué cette façon de faire dans le Format conditionnel des cellules en colonne B (peut-être fallait-il le faire pour la colonne C ?) Cordialement, Didier_mDF
Le Webmaster La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien |
|
|
Re: Comment définir une période d'heures ouvrées | ||
---|---|---|
Inscription: 04/10/2009
Messages:
39
Système d'exploitation: PC & Mac Version Excel utilisée: 2007, 2010, 2011 MAC |
Posté le : 04-10-2009 23h00
Merci beaucoup pour ta réponse!!
Je me doutais bien qu'il fallait passer par un semblant de programmation... va falloir que je m'y mette sérieusement!! A ce sujet, tu aurais des références de bouquins pour apprendre la programmation sous excel? A bientôt, Thomas |
|
|
Re: Comment définir une période d'heures ouvrées | ||
---|---|---|
Inscription: 04/10/2009
Messages:
39
Système d'exploitation: PC & Mac Version Excel utilisée: 2007, 2010, 2011 MAC |
Posté le : 04-10-2009 23h07
Citation :
myDearFriend! a écrit : Re Titom1978, J'ai pris bonne note pour mettre les fichiers au format .xls, je n'avais pas fait attention et je pris l'ensemble des forumeurs de m'en excuser! Pour répondre à ta question, effectivement, la mise en forme conditionnelle de la colonne C est aussi recherchée, et je veux bien que tu m'expliques comment mettre les deux mises en forme conditionnelles en fonction par le biais de ta programmation!! Dans l'attente de te lire! Titom1978 |
|
|
Re: Comment définir une période d'heures ouvrées | ||
---|---|---|
Inscription: 18/05/2006
De Saône-et-Loire (71)
Messages:
1539
Système d'exploitation: PC Version Excel utilisée: 97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365 |
Posté le : 04-10-2009 23h42
Re Titiom1978,
Concernant le format de fichier en .xls, c'était juste un conseil pour te permettre de t'adresser au plus grand nombre. Aucune obligation cela dit. Pour utiliser cette fonction personnalisée dans la colonne C, c'est très simple : - tu sélectionnes la cellule C2. - tu fais menu Format / Mise en forme conditionnelle... - dans la liste déroulante "Condition 1", tu choisis "La formule est". - dans la zone de saisie en face, tu indiques : =HorsDelai($A2;$B2) - tu définis ensuite le format que tu veux voir appliquer et tu valides l'ensemble par OK. - ensuite, à l'aide du Pinceau (le bouton avec cette icône), tu reproduis cette mise en forme sur les cellules du bas... Concernant les livres traitant de l'apprentissage VBA, non, je ne suis pas très au fait de ce sujet. Je te conseille simplement de faire une recherche sur le net avant d'acheter un bouquin, juste histoire de voir ce qu'en pense les lecteurs précédents et pour savoir si l'auteur est connu dans le monde Excel ou non (il y a des valeurs sûres dans ce domaine, tels que : John Walkenbach par exemple, moi j'ai toujours été fan). Cordialement, Didier_mDF
Le Webmaster La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien |
|
|
Re: Comment définir une période d'heures ouvrées | ||
---|---|---|
Inscription: 04/10/2009
Messages:
39
Système d'exploitation: PC & Mac Version Excel utilisée: 2007, 2010, 2011 MAC |
Posté le : 05-10-2009 00h04
Merci beaucoup pour les réponses!
@ très bientôt! Titom1978 |
|
|
Re: Comment définir une période d'heures ouvrées | ||
---|---|---|
Inscription: 10/01/2014
Messages:
1
Système d'exploitation: PC Version Excel utilisée: 2013 |
Posté le : 10-01-2014 12h04
Bonjour,
Ce sujet est très intéressant. Je suis dans le même cas mais je cherche à exclure la pause de midi (12:00 à 14:00). De plus, il serait intéressant d'avoir le nombre d'heure écoulées entre la première date et la deuxième date (dans les plages travaillés)
Exemple : Date 1 : 01/01/2014 à 19:45 Date 2 : 02/01/2014 à 10:00
==> 2H15 (sur base 8:00/20:00)
Je n'arrive pas à inclure ces aspects. Merci pour votre aide |
|
|
Re: Comment définir une période d'heures ouvrées | ||
---|---|---|
Inscription: 18/05/2006
De Saône-et-Loire (71)
Messages:
1539
Système d'exploitation: PC Version Excel utilisée: 97, 2000, 2002, 2003, 2007, 2010, 2013, 2016 et 365 |
Posté le : 11-01-2014 05h56
Bonjour alxalx, bienvenue sur XLpages.com
Tu trouveras ci-joint, peut-être une réponse à ton problème.
J'ai utilisé le code suivant pour la fonction personnalisée : Option Explicit Function TotalDureeTrav(T1 As Date, T2 As Date, Optional HorTMin As Date = "08:00:00", Optional HorDebPause As Date = "12:00:00", Optional HorFinPause As Date = "14:00:00", Optional HorTMax As Date = "20:00:00") As Date ' myDearFriend! - www.mdf-xlpages.com Dim vT As Date, CumulHeures As Date Dim maxHeuresJour As Date 'Cohérence dates If T2 < T1 Then MsgBox "Dates inversées. Calcul impossible !" Exit Function End If 'Heures maxi par jour maxHeuresJour = HorTMax - HorFinPause + HorDebPause - HorTMin 'Calcul Select Case Int(T2) Case Int(T1) 'Si Jour1 = Jour2 CumulHeures = CalcHeuresJour(T1, True, HorTMin, HorDebPause, HorFinPause, HorTMax) CumulHeures = CumulHeures - CalcHeuresJour(T2, True, HorTMin, HorDebPause, HorFinPause, HorTMax) Case Else 'Heures Jour1 CumulHeures = CalcHeuresJour(T1, True, HorTMin, HorDebPause, HorFinPause, HorTMax) 'Heures jours intermédiaires vT = T1 Do Until DateDiff("d", vT, T2) < 2 vT = DateAdd("d", 1, vT) CumulHeures = CumulHeures + maxHeuresJour Loop 'Heures Jour2 CumulHeures = CumulHeures + CalcHeuresJour(T2, False, HorTMin, HorDebPause, HorFinPause, HorTMax) End Select TotalDureeTrav = CumulHeures End Function Private Function CalcHeuresJour(vD As Date, Depart As Boolean, HorTMin As Date, HorDebPause As Date, HorFinPause As Date, HorTMax As Date) As Date Dim H As Date, AMTrav As Date, PMTrav As Date, JourEntierTrav As Date H = CDbl(vD) - Int(CDbl(vD)) AMTrav = HorDebPause - HorTMin PMTrav = HorTMax - HorFinPause JourEntierTrav = AMTrav + PMTrav Select Case H Case Is < HorTMin CalcHeuresJour = IIf(Depart, JourEntierTrav, 0) Case Is < HorDebPause CalcHeuresJour = IIf(Depart, HorDebPause - H + PMTrav, H - HorTMin) Case Is < HorFinPause CalcHeuresJour = IIf(Depart, PMTrav, AMTrav) Case Is < HorTMax CalcHeuresJour = IIf(Depart, HorTMax - H, H - HorFinPause + AMTrav) Case Else CalcHeuresJour = IIf(Depart, 0, JourEntierTrav) End Select End Function En espérant avoir répondu à ta question...
Cordialement, Didier_mDF
Le Webmaster La réponse vous satisfait ? Merci de revenir solder le sujet en [résolu], voir ce lien |
|
|
Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.
Qui consulte actuellement ce sujet ?
1 Utilisateur(s) anonymes