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

Macros et VBA Excel Discussion :

Une formule pour compter les demis journées d'absence


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier Avatar de Ragnart
    Homme Profil pro
    Electricien
    Inscrit en
    Novembre 2013
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Electricien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2013
    Messages : 99
    Points : 87
    Points
    87
    Par défaut Une formule pour compter les demis journées d'absence
    Bonjour à toutes et tous,

    je galère depuis plusieurs jours à trouver une formule, si quelqu'un peut m'aider....
    Voilà, j'ai une formule qui me compte les jours ouvrés (les samedis, dimanches et jours fériés ne sont pas comptés) pour chaque agent qui prend congé, jusqu'ici, tout va bien tant que se sont des journées entières
    Si un agent prend une demi journée, ma formule me compte un jour entier voir exemple si dessous:
    Nom : test1.PNG
Affichages : 1040
Taille : 6,6 Ko

    ma formule est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =NB.JOURS.OUVRES([@[Date de début :]];[@[Date de fin :]];liste_feriés)
    j'ai tenté d'ajouter la formule Si ou encore SI NON_VIDE ou encore SOMME SI mais rien ne fonctionne...
    quelqu'un à une idée? En vous remerciant !

  2. #2
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Bonjour.

    Comme le dit le nom, elle compte les jours, pas les demi-journées.

    La seule manière que je vois de contourner cela serait un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    =si(([@[Date de début :]]=[@[Date de fin :]];
        NB.JOURS.OUVRES([@[Date de début :]];[@[Date de fin :]];liste_feriés)*(1-si([MatinUniquement]="x";0.5;0)-si([ApresMidiUniquement]="x";0.5;0));
        NB.JOURS.OUVRES([@[Date de début :]];[@[Date de fin :]];liste_feriés))
    A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  3. #3
    Modérateur

    Homme Profil pro
    Inscrit en
    Octobre 2005
    Messages
    15 331
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Octobre 2005
    Messages : 15 331
    Points : 23 786
    Points
    23 786
    Par défaut
    Ou plus direct car il y a peu de chance qu'une personne s'absente une demie journée d'un jour férié.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    =si(([@[Date de début :]]=[@[Date de fin :]];
        si([MatinUniquement]="x";0.5;0)+si([ApresMidiUniquement]="x";0.5;0);
        NB.JOURS.OUVRES([@[Date de début :]];[@[Date de fin :]];liste_feriés))
    Re A+
    Vous voulez une réponse rapide et efficace à vos questions téchniques ?
    Ne les posez pas en message privé mais dans le forum, vous bénéficiez ainsi de la compétence et de la disponibilité de tous les contributeurs.
    Et aussi regardez dans la FAQ Access et les Tutoriaux Access. C'est plein de bonnes choses.

  4. #4
    Membre expert
    Profil pro
    Inscrit en
    Février 2007
    Messages
    2 267
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 2 267
    Points : 3 663
    Points
    3 663
    Par défaut
    Bonjour à tous,

    ou bien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =]=NB.JOURS.OUVRES([@[Date de début :]];[@[Date de fin :]];liste_feriés)/SI([MatinUniquement]&[ApresMidiUniquement]<>"";2;1)
    eric

  5. #5
    Membre régulier Avatar de Ragnart
    Homme Profil pro
    Electricien
    Inscrit en
    Novembre 2013
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Electricien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2013
    Messages : 99
    Points : 87
    Points
    87
    Par défaut
    Bonsoir,
    Merci Marot_r, merci Eriic, je vais tester vos formules et je reviendrai vous tenir informé ! Merci à vous deux pour votre aide !

  6. #6
    Membre régulier Avatar de Ragnart
    Homme Profil pro
    Electricien
    Inscrit en
    Novembre 2013
    Messages
    99
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Electricien
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Novembre 2013
    Messages : 99
    Points : 87
    Points
    87
    Par défaut
    Votre formule Eriic fonctionne en la modifiant un peu comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =NB.JOURS.OUVRES([@[Date de début :]];[@[Date de fin :]];liste_feriés)/SI(E4&F4<>"";2;1)
    Marot_r, vos formule me renvoi un message d'erreur, je vais voir pour la modifier et faire en sorte quel fonctionne, vous m'avez mis sur une bonne piste et je vous en remercie vivement tous les deux.
    Je laisse encore ouverte cette discussion jusque demain afin d'apporter de réponses au code de Marot_r ou si quelqu'un à une autre idée pour calculer des congés en tenant compte qu'il y avoir des demis journées.
    bien cordialement,

Discussions similaires

  1. [AC-2003] Une formule pour calculer les in et out d une table de pointage
    Par taz devil dans le forum Requêtes et SQL.
    Réponses: 10
    Dernier message: 29/06/2015, 12h46
  2. Réponses: 4
    Dernier message: 25/02/2015, 20h16
  3. Inserer une formule pour toutes les colonnes vides
    Par sakhob dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 30/09/2014, 20h26
  4. Réponses: 1
    Dernier message: 10/02/2010, 14h08
  5. requete pour compter les valeurs ds une colonne
    Par smariteau dans le forum Requêtes
    Réponses: 2
    Dernier message: 10/02/2006, 17h37

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