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 :

Calcul conditionnel de délai


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Femme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Mars 2015
    Messages : 7
    Points : 4
    Points
    4
    Par défaut Calcul conditionnel de délai
    Bonjour à tous et à toutes !

    Je débute en Vba et je galère beaucoup

    Je cherche un code qui me permettra de calculer le délai en jours entre une date de début et une date de fin mais sans prendre en compte les nuits (Càd : 1jr c'est égal à 8h),

    Merci de votre aide

  2. #2
    Membre émérite Avatar de antonysansh
    Homme Profil pro
    Chargé d'études RH
    Inscrit en
    Mai 2014
    Messages
    1 115
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Chargé d'études RH
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2014
    Messages : 1 115
    Points : 2 439
    Points
    2 439
    Par défaut
    Bonjour BettyBen,

    Je ne suis pas certain de comprendre ton besoin,
    Tu veux savoir le nombre de jours entre 2 dates, mais tes jours ne durent que 8 heures ?

    Par exemple : Entre le 27/03/2015 et le 29/03/2015 ça fait 48heures donc 6 jours ?
    Antony

    Mieux vaut ne rien dire et passer pour un con que de l'ouvrir et ne laisser aucun doute à ce sujet.
    Gustave Parking


    Si le post vous est utile un petit fait toujours plaisir et pensez à passer en

    Et surtout -> Balise CODE

  3. #3
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 772
    Points : 28 633
    Points
    28 633
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    On calcule la différence entre deux dates avec la formule DATEDIF(DateAncienne;DateRécente;Ecart ) dans Excel (formule non officielle donc non documentée) et dans VBA c'est la fonction DateDiff (2 f).
    Donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox datediff("d",#03/12/2015#, date)
    va renvoyer 15 puisque Date renvoie la date d'aujourd'hui. Un calcul arithmétique du produit du résultat par 8 t'apportera sans doute le bonheur.
    Avec Excel
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DATEDIF(A9;AUJOURDHUI();"d") * 8
    A9 contient la date du 12/03/2015
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  4. #4
    Candidat au Club
    Femme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Mars 2015
    Messages : 7
    Points : 4
    Points
    4
    Par défaut


    Salut Philippe,

    J'ai déja essayé datedif, ca me donne pas ce que je veux.
    Mais cette ligne de code(
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DATEDIF(A9;AUJOURDHUI();"d") * 8
    ) calcule la différence entre une date X et la date d'aujourd'hui

  5. #5
    Candidat au Club
    Femme Profil pro
    Ingénieur qualité méthodes
    Inscrit en
    Mars 2015
    Messages
    7
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Ingénieur qualité méthodes

    Informations forums :
    Inscription : Mars 2015
    Messages : 7
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par antonysansh Voir le message
    Bonjour BettyBen,

    Je ne suis pas certain de comprendre ton besoin,
    Tu veux savoir le nombre de jours entre 2 dates, mais tes jours ne durent que 8 heures ?

    Par exemple : Entre le 27/03/2015 et le 29/03/2015 ça fait 48heures donc 6 jours ?
    Bonjour antonysansh

    en fait si je reprends ton exemple : Du 27/03/2015 à 09:30:00 et le 29/03/2015 à 16:42:00 il fait la somme de :

    Pour le 27/03/2015 => de 09:30:00 à 17:00:00 (7h30)

    Pour le 28/03/2015 => de 08:00:00 à 17:00:00 (9h)

    Pour le 29/03/2015 => de 08:30:00 à 16:40:00 (8h10)

    Ma journée commence à 08h et se termine à 17h

  6. #6
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    12 772
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 12 772
    Points : 28 633
    Points
    28 633
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Mais cette ligne de code(
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DATEDIF(A9;AUJOURDHUI();"d") * 8
    ) calcule la différence entre une date X et la date d'aujourd'hui
    Oui effectivement, c'est à cela qu'elle sert
    Tu n'en dit pas assez car si on reprends ta question initiale
    Je cherche un code qui me permettra de calculer le délai en jours entre une date de début et une date de fin mais sans prendre en compte les nuits (Càd : 1jr c'est égal à 8h),
    DATEDIF donne le nombre de jours entre deux dates. une simples soustraction des deux dates aussi d'ailleurs.

    Il faudrait être plus explicite. Qu'as tu comme données et quel résultat souhaites-tu obtenir.
    Que faire des week-end et jours fériés. Si le résultat d'une journée de travail est de 9 heures que faire de l'excédent, etc.
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

Discussions similaires

  1. [XL-2010] Calcul conditionnel de délai
    Par BettyBen dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/03/2015, 15h45
  2. Requête sélection avec calculs conditionnels
    Par CassiopeeQC dans le forum Requêtes et SQL.
    Réponses: 4
    Dernier message: 03/09/2008, 00h45
  3. Calcul conditionnel à partir de 3 contrôles
    Par jema83 dans le forum VBA Access
    Réponses: 11
    Dernier message: 27/05/2008, 22h12
  4. Calcul conditionnelles sur BO 6.5
    Par kinji dans le forum Deski
    Réponses: 8
    Dernier message: 20/11/2007, 15h10
  5. Requête calculée conditionnelle
    Par BLazE dans le forum Access
    Réponses: 4
    Dernier message: 19/01/2007, 21h08

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