Tableau automatique à partir de données
Résolu
zgrulb
Messages postés
25
Date d'inscription
Statut
Membre
Dernière intervention
-
Raymond PENTIER Messages postés 58998 Date d'inscription Statut Contributeur Dernière intervention -
Raymond PENTIER Messages postés 58998 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Je suis stagiaire dans un petit hôtel et j'ai besoin de faire un planning prévisionnel automatiquement à partir de de données de réservations.
J'ai pu en générer un grâce à des formules trouvées sur internet mais je n'arrive pas à assigner le nom correspondant à la cellule.
Je crois que ce qu'il me faudrait ce serait de pouvoir vérifier deux valeurs pour pouvoir donner en réponse une troisième mais les fonctions recherche ne permettent d'en vérifier qu'une.
Ci-joint un écran système de ce dont j'ai besoin de faire.
http://www.hostingpics.net/viewer.php?id=345922planning.png
Un grand merci.
Je suis stagiaire dans un petit hôtel et j'ai besoin de faire un planning prévisionnel automatiquement à partir de de données de réservations.
J'ai pu en générer un grâce à des formules trouvées sur internet mais je n'arrive pas à assigner le nom correspondant à la cellule.
Je crois que ce qu'il me faudrait ce serait de pouvoir vérifier deux valeurs pour pouvoir donner en réponse une troisième mais les fonctions recherche ne permettent d'en vérifier qu'une.
Ci-joint un écran système de ce dont j'ai besoin de faire.
http://www.hostingpics.net/viewer.php?id=345922planning.png
Un grand merci.
A voir également:
- Tableau automatique à partir de données
- Tableau word - Guide
- Dans le fichier, générez ce tableau automatiquement (tableau croisé dynamique ou table de pilote) à partir des quatre premières colonnes. - Guide
- Logiciel de sauvegarde automatique gratuit - Guide
- Tableau ascii - Guide
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
5 réponses
Il est très joli, ton "écran système". Mais nous aurions préféré le fichier lui-même !
Utilise https://www.cjoint.com/ et n'oublie pas à la fin de sélectionner "Autoriser l'accès" avant de venir faire Coller dans ton message CCM.
Utilise https://www.cjoint.com/ et n'oublie pas à la fin de sélectionner "Autoriser l'accès" avant de venir faire Coller dans ton message CCM.
Voici le lien du fichier Excel: (il n'y a pas de sélection de Autoriser l'accès)
https://www.cjoint.com/?BFsrqeD6oWp
Le tableau contenant les formules est celui que j'obtiens et celui du haut est celui que je dois obtenir.
Les nom se répètent sans pertinence sans que je comprenne pourquoi.
C'est une formule trouvée sur internet et que j'ai bricolé pour faire un plan de réservation mais sans les noms.
J'ai essayé avec les fonctions recherche, index et bdlire mais je crois que mes compétences sur Excel sont trop faibles pour pouvoir les maîtriser.
L'idée d'ajouter une étape au traitement des données est pas mal. Je vais penser dans cette voie mais je pense qu'il devrait être possible de l'éviter.
https://www.cjoint.com/?BFsrqeD6oWp
Le tableau contenant les formules est celui que j'obtiens et celui du haut est celui que je dois obtenir.
Les nom se répètent sans pertinence sans que je comprenne pourquoi.
C'est une formule trouvée sur internet et que j'ai bricolé pour faire un plan de réservation mais sans les noms.
J'ai essayé avec les fonctions recherche, index et bdlire mais je crois que mes compétences sur Excel sont trop faibles pour pouvoir les maîtriser.
L'idée d'ajouter une étape au traitement des données est pas mal. Je vais penser dans cette voie mais je pense qu'il devrait être possible de l'éviter.
Bonjour.
"Les nom se répètent sans pertinence sans que je comprenne pourquoi." Inexact: c'est très pertinent ! En effet tu as une formule en H11 qui dit "Si l'arrivée est antérieure ou égale au 20 juin, et si le départ est postérieur au 20 juin, et si la chambre réservée est la N°1, alors j'examine la ligne courante (la ligne 11) et si l'entreprise est indiquée (en D11, donc) je l'affiche, sinon j'affiche le nom du client (E11, donc)."
Et c'est bien ce que fait Excel ! Mais ta formule est fausse, dans le sens où elle n'est pas logiquement bâtie, et ton "bricolage" n'a pas tenu compte de la différence de structure entre ton modèle et ton fichier.
"Les nom se répètent sans pertinence sans que je comprenne pourquoi." Inexact: c'est très pertinent ! En effet tu as une formule en H11 qui dit "Si l'arrivée est antérieure ou égale au 20 juin, et si le départ est postérieur au 20 juin, et si la chambre réservée est la N°1, alors j'examine la ligne courante (la ligne 11) et si l'entreprise est indiquée (en D11, donc) je l'affiche, sinon j'affiche le nom du client (E11, donc)."
Et c'est bien ce que fait Excel ! Mais ta formule est fausse, dans le sens où elle n'est pas logiquement bâtie, et ton "bricolage" n'a pas tenu compte de la différence de structure entre ton modèle et ton fichier.
Bonjour,
Désolé d'avoir disparu pendant quelque temps mais j'était surchargé de travail.
Je n'ai pas perdu mon temps, continuant de rechercher une formule pour faire le plan de réservation. Et voici le résultat, ça marche.
https://www.cjoint.com/?BGcoGVlI2af
Si quelqu'un pouvait trouver une formule plus light ce serait sympa pour moi et pour les prochains qui auront besoin de faire la même chose.
Merci
Désolé d'avoir disparu pendant quelque temps mais j'était surchargé de travail.
Je n'ai pas perdu mon temps, continuant de rechercher une formule pour faire le plan de réservation. Et voici le résultat, ça marche.
https://www.cjoint.com/?BGcoGVlI2af
Si quelqu'un pouvait trouver une formule plus light ce serait sympa pour moi et pour les prochains qui auront besoin de faire la même chose.
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Pour alléger un peu la formule et la rendre plus facilement lisible, tu pourrais définir les noms ARR pour la plage A2:A14, CH pour la plage C2:C14, ENTR pour la plage D2:D14 et écrire
=SIERREUR(SI(SOMMEPROD((ARR<=H$1)*($B$2:$B$14>=H$1+1)*(CH=$G2))=1;INDEX(SI(ENTR<>"";ENTR;$E$2:$E$14);EQUIV(H$1&$G2;ARR&$CH; 0;1);"");G2)
=SIERREUR(SI(SOMMEPROD((ARR<=H$1)*($B$2:$B$14>=H$1+1)*(CH=$G2))=1;INDEX(SI(ENTR<>"";ENTR;$E$2:$E$14);EQUIV(H$1&$G2;ARR&$CH; 0;1);"");G2)
Et pour donner un nom à une plage, on la sélectionne, on fait clic-droit et on lance "Définir un nom".