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 :

Nombre de nuits en fonction des jours [XL-2016]


Sujet :

Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Août 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Août 2016
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Nombre de nuits en fonction des jours
    Bonjour,

    Alors voila, je cherche depuis quelque temps mais je ne peux trouver de réponse.
    Mon problème est simple et a la fois complexe haha:

    Je dois compter le nombre de nuit en fonction du type de jour.
    Exemple:

    Date de check-in et check-out (Le jour de check-out n'est pas a compter puisque le client s'en va et ne dort donc pas a l’hôtel)

    Ensuite deux types de nuits.
    Les nuits du dimanche au jeudi (dimanche, lundi, mardi, mercredi et jeudi soir)
    Et les nuits du vendredi et samedi soir qui sont plus chères.

    Pour les nuits en semaine je pense utiliser cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DATEDIF(B5;B6;"d")-NB.JOURS.OUVRES.INTL(B5;B6;7)
    Je cherche ici le nombre de NUIT et pas le nombre de JOUR je ne peux donc pas utiliser simplement la formule NB.JOURS.OUVRES?

    Ensuite j'ai pensé à utiliser ces formules
    Jours semaines:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DATEDIF(B5;B6;"d")-SOMMEPROD((JOURSEM(LIGNE(INDIRECT(B5&":"&B6));1)>5)*1)
    Vendredi soir et samedi soir:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =DATEDIF(B5;B6;"d")-(SOMMEPROD((JOURSEM(LIGNE(INDIRECT(B5&":"&B6));1)=1)*1)+SOMMEPROD((JOURSEM(LIGNE(INDIRECT(B5&":"&B6));1)=2)*1) +SOMMEPROD((JOURSEM(LIGNE(INDIRECT(B5&":"&B6));1)=3)*1)+ SOMMEPROD((JOURSEM(LIGNE(INDIRECT(B5&":"&B6));1)=4)*1) +SOMMEPROD((JOURSEM(LIGNE(INDIRECT(B5&":"&B6));1)=5)*1))
    Problème ici, en fonction du jour de check-out il me manque 1 jour

    Si il y a une âme charitable pour m'aider je suis preneur.

    Merci
    Jamryl

  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 Jamryl,

    Une simple soustraction entre deux dates te donne le nombre de nuit.

    Ensuite pour compter les nuitées hors Vendredi et samedi tu peux utiliser comme tu le fais =NB.JOURS.OUVRES.INTL mais 1 jour avant ta date de fin pour ne pas compter la nuit du dernier jour : NB.JOURS.OUVRES.INTL(B5;B6-1;7)

    Je me contenterais donc de ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =((C2-C1)-NB.JOURS.OUVRES.INTL(C1;C2-1;7))*150+(NB.JOURS.OUVRES.INTL(C1;C2-1;7))*100
    En C2 date check-out
    En C1 date check-in
    Ensuite 100 et 150 sont les prix des nuitées en fonction du jour.

    Je te laisse adapter et me dire si cette solution te convient.
    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
    Membre expert

    Homme Profil pro
    Retraité
    Inscrit en
    Juin 2012
    Messages
    1 564
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 1 564
    Points : 3 554
    Points
    3 554
    Billets dans le blog
    1
    Par défaut
    Bonjour,
    Les propositions d'antonysansh apportent une solution au problème posé.
    En particulier, pour les nuitées "normales", le nombre est bien donné par la formule :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = NB.JOURS.OUVRES.INTL(check_in;check_out - 1;7)
    Mais le nombre de nuitées "week-end" peut s'obtenir en utilisant la même fonction en prenant comme paramètre "week-end" une chaine de caractère (voir l'aide de la fonction) avec la formule:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = NB.JOURS.OUVRES.INTL(check_in;check_out-1;"1111001")
    En supposant que les prix des nuitées sont p1 et p2 (p2>p1), la somme à facturer peut s'obtenir avec l'une des deux formules :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = p1 * NB.JOURS.OUVRES.INTL(check_in;check_out - 1;7) + p2 * NB.JOURS.OUVRES.INTL(check_in;check_out-1;"1111001")
    ou encore :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = p1 * (check_out - check_in) + (p2 - p1) * NB.JOURS.OUVRES.INTL(check_in;check_out-1;"1111001")
    Cordialement
    Claude

  4. #4
    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
    Dans ce cas :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    = p1 * NB.JOURS.OUVRES.INTL(In;Out-1;"0000110") + p2 * NB.JOURS.OUVRES.INTL(In;Out-1;"1111001")
    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

  5. #5
    Candidat au Club
    Homme Profil pro
    Ressources humaines
    Inscrit en
    Août 2016
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hautes Alpes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ressources humaines

    Informations forums :
    Inscription : Août 2016
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci beaucoup! Ça fonctionne parfaitement.

    Maintenant une autre question

    J'aimerais qu'un prix s'affiche automatiquement dans une cellule en fonction de deux critères choisis par liste déroulantes:
    Le type de chambre
    Type de client (possède une carte de fidélité et donc prix plus bas)

    J'ai crée sur une nouvelle feuille mes choix pour les liste et sur une feuille suivante, mes trois listes normales:
    Type de client, type de chambre, prix

    Quelle fonction dois-je utiliser pour que excel "liste" les choix des listes déroulantes et aille directement chercher le prix et l'affiche?
    En pièce jointe mon classeur avec les tableau.

    Sheet 2:
    en A: Type de client
    en B: Type de chambre
    en C: Les prix

    En A20: Tableau des prix en semaine
    en A34: Tableau des prix WE (vendredi samedi)

    Merci encore !
    Fichiers attachés Fichiers attachés

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

Discussions similaires

  1. Réponses: 6
    Dernier message: 22/02/2014, 11h01
  2. Réponses: 7
    Dernier message: 19/10/2011, 16h09
  3. Calculer le nombre d'enregistrement en fonction des classes
    Par bigs3232 dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 22/05/2010, 14h42
  4. Faire tourner une image en fonction des jours
    Par bastien_hj dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 04/04/2009, 17h25
  5. Cumul des jours ouvrables d'après une fonction
    Par molene34 dans le forum Access
    Réponses: 11
    Dernier message: 14/03/2006, 22h40

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