Calcul nombre de nuits de réservation pour une plage de date

Bonjour,

Voila ce que j'ai dans ma base de donnée :

  • date d'entrée
  • date de sortie pour chaque réservation

Je souhaiterais ensuite calculer le nombre de nuits de réservation effectuée sur une plage de dates que je rentre.

Par exemple combien de nuits ont été effectuées entre le 15 janvier 2019 et le 7 mars 2019.

Je partais pour faire une somme conditionnelle mais la difficulté je trouve est qu'il faut prendre en compte les cas particulier si la date d'entrée est inférieure à la date de début de recherche, si la date de sortie est supérieure à la date de fin de recherche, ...

Du coup SOMME.SI ou SOMME.PROD ou SOMME.SI.ENS ne fonctionnent pas

Help si vous plait !

Bonjour waccoo,

tu dois connaitre le dicton, Pas de bras, pas de Chocolat !

Ici c'est généralement : Pas de fichier pas de réponse !

Cordia5

Ah mince ok je ne savais pas.

Le voila.

247waccoo.xlsx (8.87 Ko)

Bonjour Wacoo,

Avec cette formule en colonne D :

=SI(OU(B4>$G$5;C4<$F$5);"";SI(C4>$G$5;$G$5;C4)-SI(B4<$F$5;$F$5;B4))

et en E8 :

=SOMME(D:D)

Voyez si le fichier joint peut vous aider

187waccoo.xlsx (5.49 Ko)

Bonjour Wacoo,

Avec cette formule en colonne D :

=SI(OU(B4>$G$5;C4<$F$5);"";SI(C4>$G$5;$G$5;C4)-SI(B4<$F$5;$F$5;B4))

et en E8 :

=SOMME(D:D)

Voyez si le fichier joint peut vous aider

Waccoo.xlsx

Merci pour cette solution, en effet elle marche.

Par curiosité j'essayais de savoir s'il était possible de s'abstenir d'utiliser une colonne pour faire ce calcul. Parce qu'il faut que j'en crée autant que j'ai de champs de recherche, ce qui n'est pas pratique.

En résumé est il possible de faire le calcul en entier juste par une formule ou script ?

Merci

Bonjour à tous,

=SOMMEPROD((F5<=($C$4:$C$10))*(G5-1>=$B$4:$B$10))

La prochaine fois met des dates dans la même année, ça évite de chercher des erreurs qui n'existent pas

eric

Bonjour à tous,

=SOMMEPROD((F5<=($C$4:$C$10))*(G5-1>=$B$4:$B$10))

La prochaine fois met des dates dans la même année, ça évite de chercher des erreurs qui n'existent pas

eric

Oui désolé je joins le fichier un peu mieux préparé.

Par contre je ne comprends pas ta réponse. Ta formule renvoi 4, alors que le résultat serait 24. Ton SOMMEPROD ne fait l'addition que de résultat binaire, là où il faut compter pour chaque ligne le nombre de nuitées incluses dans la plage de recherche.

Merci quand meme !

108waccoo-1.xlsx (9.46 Ko)

Bonjour,

ah oui. Je ne sais pas pourquoi, j'ai cru que tu voulais le nombre de personnes présentes.

Alors un peu à rallonge car Max() ne supporte pas en matriciel :

=SOMMEPROD(SI(SI(C4:C10>H5;H5;C4:C10)-SI(B4:B10<G5;G5;B4:B10)>0;SI(C4:C10>H5;H5;C4:C10)-SI(B4:B10<G5;G5;B4:B10);0))

Formule matricielle à valider avec Shift+Ctrl+Entrée

La formule doit s'entourer de { } si la validation est correcte.

Fixer les plages avec des $ si elle est destinée à être tirée.

eric

Bonjour,

ah oui. Je ne sais pas pourquoi, j'ai cru que tu voulais le nombre de personnes présentes.

Alors un peu à rallonge car Max() ne supporte pas en matriciel :

=SOMMEPROD(SI(SI(C4:C10>H5;H5;C4:C10)-SI(B4:B10<G5;G5;B4:B10)>0;SI(C4:C10>H5;H5;C4:C10)-SI(B4:B10<G5;G5;B4:B10);0))

Formule matricielle à valider avec Shift+Ctrl+Entrée

La formule doit s'entourer de { } si la validation est correcte.

Fixer les plages avec des $ si elle est destinée à être tirée.

eric

Génial merci, c'est exactement ce qu'il me fallait, ca marche bien. j'avais pensé au matriciel mais ne savais pas quelle formule utiliser.

Sympa pour la rapidité et bonne soirée !

Rechercher des sujets similaires à "calcul nombre nuits reservation plage date"