IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Excel Discussion :

Décompte heure suivant conditions


Sujet :

Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Consultant SAP
    Inscrit en
    Septembre 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant SAP
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2018
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Décompte heure suivant conditions
    Bonjour,

    Je cherche à faire un petite somme d'heure mensuelle suivant plusieurs conditions.
    1ère conditions.
    Si valeur jour X supérieur à valeur référence alors différence entre valeur jour X et valeur référence. Si non (valeur jour X supérieur à valeur référénce), résulta "" ou O.
    2e condition
    Pour ce même jour X, si ce jour est compris dant le weekend (Samedi ou Dimanche alors la valeur de ce jour X est intégralement prise en compte, sans opération comme dans la 1ère condition.
    Ensuite, une somme globale de la valeur de tous ces jours
    Fonction IF/OR. Cela semble être facile.
    Cependant, j'obtiens une erreur dont je ne trouve la solution.

    Le tout sans VBA.
    un peit fichier en annee pour illustrer mon but.

    Merci bien.
    Fichiers attachés Fichiers attachés

  2. #2
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 864
    Points
    3 864
    Par défaut
    Tu pourrais mettre un titre à tes colonnes pour plus de facilités ?

  3. #3
    Candidat au Club
    Homme Profil pro
    Consultant SAP
    Inscrit en
    Septembre 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant SAP
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2018
    Messages : 7
    Points : 3
    Points
    3
    Par défaut Titre topic
    Salut,

    Oui biensûr. Ci-joint. Merci
    Fichiers attachés Fichiers attachés

  4. #4
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 864
    Points
    3 864
    Par défaut
    Remarques :
    D'où vient cet ajout '+"1:00:00"'. Je ne vois rien dans ton premier post.

    Sinon, je propose - pour autant que j'ai compris :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(B18="";"";SI(OU(JOURSEM(J18;2)=6;(JOURSEM(J18;2)=7));F18;SI(F18>Q18;F18-Q18+"1:00:00";"")))
    J'ai ajouté :
    car il se peut que la colonne B soit vide et donc, cela évite un petit soucis

  5. #5
    Candidat au Club
    Homme Profil pro
    Consultant SAP
    Inscrit en
    Septembre 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant SAP
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2018
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Pièce jointe 413675

    Le même fichier avec avec plus de commentaires et explications plus précises.
    Commentaire incluant l'origine/expliquant le +"1:00:00"

    J'ai essayé en insérant la formule donnée:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(B18="";"";SI(OU(JOURSEM(J18;2)=6;(JOURSEM(J18;2)=7));F18;SI(F18>Q18;F18-Q18+"1:00:00";"")))
    En adaptant un peu puisque je suis sur une version anglophone comme vous l'aurez noté précédemment.

    But recherché, après quelques essais de vérification, atteint! Merci beaucoup pour ce support.
    Je n'avais pas pensé/oublié à utiliser la fonction JOURSEM/WEEKDAY pour les identifer les jours du weekend/fin de semaine. Mais cette une fonction est plus aisée à utiliser que ma méthode auparant. Bien joué!

    Concernant la colonne B, voir commentaire en Q expliquant pourquoi j'utilisais la colonne F et non la colonne B
    Car dans mon cas, cela correspond aux termes décrit sur un autre document

    Je joins à nouveau le fichier, juste votre curiosité si vous souhaitez jeter un coup d'oeil. Et peut être, une meilleure solution que ce +"1:00:00"
    Fichiers attachés Fichiers attachés

  6. #6
    Membre expert Avatar de QuestVba
    Homme Profil pro
    Enseignant
    Inscrit en
    Juillet 2012
    Messages
    2 477
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : Belgique

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Service public

    Informations forums :
    Inscription : Juillet 2012
    Messages : 2 477
    Points : 3 864
    Points
    3 864
    Par défaut
    J'avoue être un peu perdu.
    Si tu pouvais mettre en colonne R les différents résultats (sans formule en DUR) que tu pourrais avoir en fonction des cas : moins que le nbre d'heures requis, plus que le nbre d'heures requis, avec ou sans voyage ...

  7. #7
    Candidat au Club
    Homme Profil pro
    Consultant SAP
    Inscrit en
    Septembre 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant SAP
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2018
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Oui, je comprend. C'est loin d'être évident "d'entrer" dans un problème posé un peu en "brut". C'est tout à fait normal. Il faut un peu de temps pour comprendre la réflexion/idée avec laquelle j'ai élaboré tout ce petit schéma.

    J'ai noté en colonne S les résultat escompté ainsi qu'en T, une bref description de ce résultat brut.
    Merci bien.
    Fichiers attachés Fichiers attachés

  8. #8
    Membre éprouvé
    Homme Profil pro
    utilisateur
    Inscrit en
    Janvier 2017
    Messages
    669
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : utilisateur
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2017
    Messages : 669
    Points : 1 109
    Points
    1 109
    Par défaut
    Bonjour Commode_Ikea,
    Essayez avec:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SI(F16="";"";SI(ET(OU(JOURSEM(J16;2)=6;(JOURSEM(J16;2)=7));F16>Q16;F16);SI(F16>Q16;F16-Q16+1/24;"")))
    LibreOffice 7.5.9.2.M1 (x64) FR-YT 05/12/23
    OS : Windows 11.0

  9. #9
    Candidat au Club
    Homme Profil pro
    Consultant SAP
    Inscrit en
    Septembre 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant SAP
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2018
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Bonjour njhub,

    Ça fonctionne bien, une autre manière d'atteindre le même résultat. Merci !

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =IF(F16="","",IF(AND(OR(WEEKDAY(J16,2)=6,(WEEKDAY(J16,2)=7)),F16>Q16,F16),IF(F16>Q16,F16-Q16+1/24,"")))
    Une autre idée me vient à l'esprit, mais elle ne sera sûrment pas aisé à mettre en pratique;
    avoir la somme des heures de jours spécifiques, tel que Dimanche sur une période d'un mois.

    Je vais faire quelques recherches en parallèle.

  10. #10
    Membre éprouvé
    Homme Profil pro
    utilisateur
    Inscrit en
    Janvier 2017
    Messages
    669
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : utilisateur
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2017
    Messages : 669
    Points : 1 109
    Points
    1 109
    Par défaut
    Bonjour Commode_Ikea,
    Essayez avec:
    En T47 : choix de 1 à 7, pour le jour de la semaine (1= dimanche, 2= lundi....7= samedi)

    En J47
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =TEXTE(SOMME.SI(S16:S46;T47;F16:F46);"[hh]:mm")&" heures de "&TEXTE(INDIRECT("A"&EQUIV(T47;S16:S22;0)+15;1);"nnnn")
    En S16 à étendre jusqu'à S46
    LibreOffice 7.5.9.2.M1 (x64) FR-YT 05/12/23
    OS : Windows 11.0

  11. #11
    Candidat au Club
    Homme Profil pro
    Consultant SAP
    Inscrit en
    Septembre 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant SAP
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2018
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Bonjour,

    Premièrement, ce WEEKDAY (A16,2) ne prend jamais le bon jour.
    c'est-à-dire, S16 basé sur le jour du mois en cours M3 est affiché Vendredi pour Septembre, Dimanche pour Octobre, etc., etc.
    Je suppose que cela est dû à la configuration de mon système d'exploitation (version UK). Par conséquent, je dois utiliser WEEKDAY (A16,1)

    Donc, soit je mets A16 = M3 avec 'format cellule' 'd.' comme début et ensuite, J16 = A16 avec 'format cell' 'ddd' pour un résultat correct selon M3 réglé avec 'format cell' 'mmmm yyyy'
    soit je mets A16 = M3 avec 'format cellule' 'd.' comme initialement fait puis, WEEKDAY (A16,1)

    De ce qui précède, je dirais que le second peut être plus pratique. Je l'utilise dans le fichier joint.

    Cependant, la formule donnée
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     =TEXT(INDIRECT("A" & MATCH(T47, S16: S22.0)+15,1),"nnnn")& "hours are"&TEXT(SUMIF(S16:S46,T47,F16:F46),"[hh]: mm")
    résulte par #VALUE!
    J'ai déjà réglé le "format cellule", donc cet argument "[hh]: mm" peut être inutile, non?
    Je n'ai pas compris le but de "A" +15,1

    De plus j'ai utilisé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SUMIF(J16:J46,WEEKDAY(7,1),F16:F46)
    en C47 (Décrit dans le commentaire, j'ai presque eu mon objectif. Vous pourrez le comprendre en le lisant)
    et
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =SUMIF(J16:J46,WEEKDAY(1,1),F16:F46)
    dans D47 (Décrit dans le commentaire, j'ai eu mon objectif)

    Il me faut trouver le moyen d'ajouter le surplus de temps à partir/supérieur à la valeur en colonne Q pour chaque jour Lu à Ve, qui s'ajoutera à la valeur en C47 pour finaliser ma recherche.
    Fichiers attachés Fichiers attachés

  12. #12
    Membre éprouvé
    Homme Profil pro
    utilisateur
    Inscrit en
    Janvier 2017
    Messages
    669
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 63
    Localisation : France

    Informations professionnelles :
    Activité : utilisateur
    Secteur : Service public

    Informations forums :
    Inscription : Janvier 2017
    Messages : 669
    Points : 1 109
    Points
    1 109
    Par défaut
    Bonjour,

    Voici votre fichier d'origine avec des formules qui fonctionnent à la bonne place, rien d'autre.

    Gardez-le précieusement, j'en ai fini.

    Commode_Ikea-Book1.xlsx
    LibreOffice 7.5.9.2.M1 (x64) FR-YT 05/12/23
    OS : Windows 11.0

  13. #13
    Candidat au Club
    Homme Profil pro
    Consultant SAP
    Inscrit en
    Septembre 2018
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Consultant SAP
    Secteur : Conseil

    Informations forums :
    Inscription : Septembre 2018
    Messages : 7
    Points : 3
    Points
    3
    Par défaut
    Hello,

    That's great, it works well. Thank you very much for all.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. recalcul de champs suivant conditions
    Par boobz79 dans le forum Shell et commandes GNU
    Réponses: 6
    Dernier message: 27/01/2009, 15h02
  2. Réponses: 2
    Dernier message: 25/03/2008, 15h30
  3. Supression des doubles suivant condition
    Par jawed dans le forum Excel
    Réponses: 16
    Dernier message: 27/02/2008, 22h21
  4. Selection suivant condition
    Par bong03 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 25/01/2008, 23h15
  5. Réponses: 2
    Dernier message: 08/06/2006, 06h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo