Recherche V avec plusieurs critères ?

Bonjour à tous,

Après des mois de casse-tête j'arrive à la conclusion que ce n'est pas possible. Mais comme je sais que tout es possible avec Excel, vous êtes mon dernier espoir en espérant qu'un crack va me sortir de la.

Voila j'ai un tableau de prix (nuits d'hôtels) qui dépend de périodes de voyage. Example ci dessous. Il y a donc la période de, la période à, le prix de la chambre par nuit dans la période, et différents prix selon le type de voyageurs (avec enfants, seuls, 3eme adulte dans la chambre....)

Sachant que le nombre de périodes/lignes n'est pas délimité (je peux avoir 2 périodes ou 20), j'ai besoin de calculer le prix du séjour en additionnant les nuits au sein de chaque période.

Example : combien coûte un séjour du 10/04/18 au 18/04/18. En prenant la première colonne (je ferai les autres ensuite), ca coute :

  • 6 nuits dans la première période donc 6x60
  • 2 nuits dans la seconde période donc 2x80
Total 520 euros.

Sachant que mes 2 paramètres sont la date d'arrivée et la date de départ (en vert dans le fichier), est-ce qu'une jolie formule peut faire le calcul du prix (en jaune dans le fichier) ?

Merci par avance pour votre aide

Tsetse

Bonjour,

Je pense qu'il faut créer un tableau du 1/4/2019 au 31/12/2019 en Feuil2 par exemple avec pour chaque jour les informations provenant du tableau synthétisé en Feuil1. Il faut ensuite faire un code avec boucle tenant compte de la date de début et la date de fin et dans chaque boucle une RECHERCHEV sur les dates dans le tableau créé en récupérant les informations de chaque colonnes et faire afficher les lignes trouvées sur la Feuil1 à partir de la cellule G10 par exemple. A partir de là tous les calculs sont possibles.

Bonjour,

J'ai testé différentes formules matricielles, mais cela me renvoie toujours la première valeur.

Outre la solution préconisée par fcyspm30, on pourrait le faire par une formule personnalisée en VBA.

Bonjour à tous,

Avant d'éventuellement plonger dans la matricielle ...

sommes-nous au moins d'accord sur le point de départ ...?

Bonjour James ...

sommes-nous au moins d'accord sur le point de départ ...?

C'est à dire ? je n'ai pas compris ta remarque ...

@tsetse : peut-on considérer que les périodes se suivent pour simplifier la formule ?

Bonjour,

Je pense qu'il faut créer un tableau du 1/4/2019 au 31/12/2019 en Feuil2 par exemple avec pour chaque jour les informations provenant du tableau synthétisé en Feuil1. Il faut ensuite faire un code avec boucle tenant compte de la date de début et la date de fin et dans chaque boucle une RECHERCHEV sur les dates dans le tableau créé en récupérant les informations de chaque colonnes et faire afficher les lignes trouvées sur la Feuil1 à partir de la cellule G10 par exemple. A partir de là tous les calculs sont possibles.

Merci pour ton retour. J'ai bien la même idée mais l'éclatement des périodes en dates uniques est déjà un gros challenge pour moi!

Bonjour,

J'ai testé différentes formules matricielles, mais cela me renvoie toujours la première valeur.

Outre la solution préconisée par fcyspm30, on pourrait le faire par une formule personnalisée en VBA.

La VBA me va bien aussi dès lors qu'il s'active lorsque l'on rentre les dates

Re,

Le point de départ signifie la correction des dates dans les cellules K2 et L2 ....

Re,

Le point de départ signifie la correction des dates dans les cellules K2 et L2 ....

Nous sommes bien d'accord sur le point de départ.

"peut-on considérer que les périodes se suivent pour simplifier la formule ?"

Elles se suivent oui mais il peut y avoir un "trou" entre deux périodes

Exemple

01/01/19-31/01/16

05/02/19-15/02/19

Re,

Le point de départ signifie la correction des dates dans les cellules K2 et L2 ....

Nous sommes bien d'accord sur le point de départ.

"peut-on considérer que les périodes se suivent pour simplifier la formule ?"

Elles se suivent oui mais il peut y avoir un "trou" entre deux périodes

Exemple

01/01/19-31/01/16

05/02/19-15/02/19

Re,

Décidément ... tes exemples de dates ont tous besoin d'être d'abord corrigés ...!!!

Une mise en oeuvre de la proposition de fcyspm30 (merci fcyspm30 !)

Une mise en oeuvre de la proposition de fcyspm30 (merci fcyspm30 !)

Nooon !!! tu l'as fait !! Pourquoi je n'ai pas posté cela plus tôt

Je n'ai pas encore essayé de comprendre comment ça marche, mais ça marche!

Un énooooorme merci!!!!

Tsetse

Formule un peu plus générale, avec un poil d'INDIRECT

=SOMMEPROD(($A2<=jours[date])*($B2>jours[date])*INDIRECT("jours["&D$1&"]"))*C2

Nooon !!! tu l'as fait !! Pourquoi je n'ai pas posté cela plus tôt

Je n'ai pas encore essayé de comprendre comment ça marche, mais ça marche!

Un énooooorme merci!!!!

Tsetse

Oh mais c'est fcyspm30 qu'il faut remercier, je n'ai été que l'exécutant de son idée.

Formule un peu plus générale, avec un poil d'INDIRECT

=SOMMEPROD(($A2<=jours[date])*($B2>jours[date])*INDIRECT("jours["&D$1&"]"))*C2

Nooon !!! tu l'as fait !! Pourquoi je n'ai pas posté cela plus tôt

Je n'ai pas encore essayé de comprendre comment ça marche, mais ça marche!

Un énooooorme merci!!!!

Tsetse

Oh mais c'est fcyspm30 qu'il faut remercier, je n'ai été que l'exécutant de son idée.

Je suis désolé pour l'impasse, l'excitation du moment. Bien sûr un grand merci à fcyspm30 aussi!

Encore mieux avec l'indirect

Tsetse

C'était ma logique de débutant mais de là à mettre en application.... Même avec les modifications des tarifs ça fonctionne. Je vais essayer de décortiquer ces fonctions car je n'ai pas tout compris.

C'était ma logique de débutant mais de là à mettre en application.... Même avec les modifications des tarifs ça fonctionne. Je vais essayer de décortiquer ces fonctions car je n'ai pas tout compris.

Grâce à cela j'ai pu explorer l'univers des tables que j'ignorai jusqu'à présent et monter un full setup avec 8 différents grilles de prix Un miracle!

Pourrais-tu me donner ce lien magique pour étudier cet univers de tables? Je n'ai pas tout compris dans la fonction SOMMEPROD()

Pourrais-tu me donner ce lien magique pour étudier cet univers de tables? Je n'ai pas tout compris dans la fonction SOMMEPROD()

Il n'y a pas de lien, j'ai essayé de comprendre le travail de Steelson, et compris qu'il travaillait avec un univers que je ne connaissais pas, celui des tables.

Donc quand tu as une grille, tu la sélectionnes (y compris les en-tête), tu vas dans insertion, Tableau (en disant que ta grille à des entête) et ça convertit en tableau, qui devient une sorte de base de données, avec un nom de tableau, et chaque colonne est reconnue plus tard, avec un nom de champs qui est celui de l'en-tête.

Ensuite tu utilises les formules du type de ce qu'à fait Steelson

ex : SOMMEPROD(($T2<=Tableau4[date])

Tu appelles le Tableau4 ou quel que nom que porte ton tableau dans le gestionnaire de noms

[Date] tu appelles le champs date

Ensuite libre cours aux tests pour mieux comprendre....

Voici une explication de débutant en la matière mais si ça peut te faire gagner du temps dans l'analyse du travail de Steelson....

A+

Tsetse

Je commence à comprendre le grand tableau. Pour ce qui concerne la fonction INDIRECT() je ne saisis pas la référence &D$1&. Quelqu'un pourrait m'expliquer?

Je commence à comprendre le grand tableau. Pour ce qui concerne la fonction INDIRECT() je ne saisis pas la référence &D$1&. Quelqu'un pourrait m'expliquer?

C'est le nom du champs à aller chercher dans le tableau "jour". Donc il fait un INDIRECT pour pouvoir ensuite coller la formule sur les différentes parties à calculer et aller chercher le bon champs dans "jour" en faisant référence à la ligne 1 de la feuille devis.

En espérant être clair, si qui est loin d'être sur

Tsetse

Rechercher des sujets similaires à "recherche criteres"