En galère sur une formule

Bonjour à tous,

J'ai une galère sur un tableau que j'essaie de mettre en place et qui me permettrait de vérifier des occupations de salles en fonction de la date, de la période de la journée (matin, après-midi, soirée, nuit) et en fonction du statut (ACT = salle confirmée sur une date passée, DEF = salle confirmée sur une date non encore passée, TE1 = salle en cours de confirmation sur date non encore passée et TE2 = option posée).

J'ai déjà pas mal bidouillé et j'ai réussi à trouver une formule qui fonctionne seulement si on prend en compte un salle seule... le souci c'est que les salles peuvent se combiner et c'est là que je suis paumé !

Je joins mon fichier qui sera + parlant...

Il faut tenir compte uniquement des onglets "occupancy 2012" et "Janvier", les autres me servent à importer un rapport qui alimentera les onglets cités précédemment, et les autres contiennent d'autres données qui servent à calculer des formules dans l'onglet "occupancy 2012".

Dans l'onglet "occupancy 2012", dans la colonne E, j'ai mis quelques exemples de salles qui sont combinée (par exemple La Seine (0) est composée de la Seine A, la Seine B et la Seine C.

Dans le même onglet, j'ai déjà fait des formules qui décomposent ce type de combinaison (colonnes AG à CI), donc théoriquement, chaque salle doit pouvoir être comptabilisée séparément si elle fait partie d'une combinaison ou si elle est utilisée seule... vous suivez toujours !? :confused: en résumé si la salle Seine a été utilisée le 01/01/2013 entre 09:00 et 18:00, il faut qu'apparaissent ACT dans le tableau en date du 01/01/2013 pour la Seine A sur les périodes AM et PM; et idem pour la Seine B et la Seine C...

Il faudrait utiliser les données des colonnes AG à CI pour que le statut (ACT, DEF, TE1, TE2) s'inscrivent dans le tableau récapitulatif de l'onglet "Janvier", au bon endroit en fonction de la date et de la période à laquelle les salles sont utilisées, mais je n'y arrive pas et ce n'est pas faute d'avoir essayé...

Est-ce que quelqu'un se sentirait capable de relever le défi ?

Un énorme merci d'avance si quelqu'un trouve une solution car je tourne en rond.

Dominique

bonjour

apres avoir corrigé les #na# dans la colonne AG ; ce qui empechait les calculs

un essai uniquement pour seine A le 3/01/2013 (en vert ) je re laisse dupliquer ( copier /coller ) apres avoir utilisé la colonne A pour defusionner ; tu la masqueras

28dombal.zip (22.00 Octets)

cordialement

Merci tulipe_3 pour ta réponse mais il semblerait qu'il n'y a pas de fichier dans ton zip... peux tu vérifier et me le renvoyer s'il te plaît ?

Si tu as trouvé une solution à mon problème, je t'érige une statue dans mon jardin

Bonjour Tulipe_3,

Je confirme l'absence de fichier dans le zip.

Cdlt

re

t'as le n° d'auguste RODIN ??

30dombal.zip (121.85 Ko)

Ce n'est qu'un essai

cordialement

Hello tulipe_3,

Merci pour ta réponse, mais je viens de tester et certes, ta formule fonctionne, mais le soucis c'est que le statut ne sera pas toujour "ACT" donc il faudrait une formule qui s'adapte et qui puisse me donner le statut qui est indiqué dans la colonne F de l'onglet "occupancy 2012", car il pourra être ACT, DEF, TE1 ou TE2 donc il ne faut pas que la formule soit figée sur un seul statut, ce serait trop simple

L'autre subtilité est que les salles peuvent être combinées entre elles (comme expliqué dans mon précédent post) et que la formule doit pouvoir faire la dissociation (par exemple Seine A & B doit être splité en Seine A et Seine B et reporter le statut de Seine A & B dans Seine A puis pareil dans Seine B). complexe hein ?!

Pour la statue, tu as une préférence pour le marbre ou le granit

re

j'arrive a repondre a l'importation du statut ( ça vaut au moins un nain de jardin ) mais pour le reste; je ne saisis pas ton orgasiation

car j'entrevois que SEINE A & B est composée de 2 sous salles la A et la B j'imagine que les espace sont contigus et que le statut de l'un va a l'encontre de l'autre ; c'est ça que tu cherches?

19dombal.zip (121.98 Ko)

cordialement

Bonjour à tous,

J'imaginais plus un traitement en vba pour éviter plus de 1700 formules matricielles * 12 mois, ce qui risque de ralentir terriblement le classeur.

Une des étapes était la construction d'une formule personnalisée pour calculer la période (AM, PM, ...)

Si jamais la proposition de tulipe te va, je te livre cette fonction qui allègera déjà un peu tes formules.

Voir contrôle colonne M et utilisation possible en N10:Q10

Accessoirement je trouve un écart en ligne 57, ta formule omettrait NIGHT. Tu confirmes ?

eric

19dombal.xlsm (197.13 Ko)

Merci Tulipe_3,

Tu t'approches de la solution, mais effectivement j'aimerais que quand la salle Seine A & B est utilisée, on puisse avoir le statut dans les cellules correspondant à Seine A avec le statut de la Seine A & B, et idem pour Seine B car dans ta formule, si je la copie sur la Seine B, il n'y a rien qui apparait alors qu'il devrait y avoir les mêmes infos que pour la Seine A puisque les salles Seine A et Seine B sont utilisées en tant que Seine A & B. Casse-tête hein !

Par contre ça me rassure, je n'aurai jamais trouvé ta solution tout seul !

Merci pour le temps que tu accordes à mon problème en tout cas.


Merci Eric pour ta participation !

Si tu lis ma réponse à tulipe_3, tu constateras que sa formule ne correspond pas encore tout à fait au résultat attendu, mais je suis sûr que ce n'est qu'une question de minutes

Par contre, pour être franc, je ne sais pas comment on pourrait intégrer le résultat de ta nouvelle formule de la colonne M

dans la formule finale qui permettra de distinguer les statuts etc dans l'onglet "Janvier"... et je n'en touche pas une sur vba donc si tu peux aller plus loin dans le raisonnement, tu auras droit toi aussi à une statue dans mon jardin !

Pour ce qui est de la ligne 57, c'est l'heure de début de location qui rentre en conflit avec la formule, si on met autre chose que 06:00, ça fonctionne !

bonsoir eriiic

tu a prafaitement raison (jai deja du zipper) donc bonjour les degats quand tout tout sera fonctionnel ;je crois meme que.....

il me semble que ce n'est qu'une histoire de presentation de l'ensemble qu'il faudrait que Dombal revoie en realité (si je me trompe il faudrait renseigner les cel possedant les carrcteres A ou B du moment que l'info de depart est issue de Seine A&B

d'ailleurs pourquoi s'emmerder a saisir des info dans un paquet (SEINE A&B) ;je crois qu'en saisissant directement les "sous salles" ;ce serait plus simple ;quite a faire un regroupement ultterieur

salle : SEINE SEINE A SEINE B SEINE...... ; il suffirait d'interroger SEINE par date eventuellement

ce qu'il y a de sur ;le tablo janvier ne se prete pas a cette gymnastique ou alors c'est un fichier de 15 tonnes

ce qu'il faut c'est un tablo de bord par site

et mon nain ????

tableau de bord par site ??? là je suis largué, je ne vois pas comment tu envisages de faire mais je te fais confiance !

Pour le nain, ok mais si tu veux la statue, y a encore du boulot !

Merci pour votre aide en tout cas !

Re,

Pour ce qui est de la ligne 57, c'est l'heure de début de location qui rentre en conflit avec la formule, si on met autre chose que 06:00, ça fonctionne !

Moi je vois surtout l'heure de fin à 01:00, que je valide NIGHT et pas toi (?)

Par contre, pour être franc, je ne sais pas comment on pourrait intégrer le résultat de ta nouvelle formule de la colonne M

dans la formule finale

Pour l'instant elle n'a pas de rôle dans la formule finale. Elle te permet juste d'alléger et de diviser par 8 la longueur de ta formule (voir N6:Q6). M ne m'a servi à rien d'autre que de contrôler et est inutile.

Pour le traitement en vba je prévois de ne me servir que des colonnes E:I qui portent toutes les infos nécessaires si je ne m'abuse (détrompe-moi si ce n'est pas le cas, j'ai peut-être raté des trucs sur ton usine à gaz).

Les 76 colonnes de formules ne serviront pas...

De plus tes noms de salle diffèrent d'une feuille à l'autre (article qui saute, plus de niveau), ce qui complique et oblige à faire une table de traduction.

Tout ça demande du temps et là il est tard....

Par contre les dates sont triées. Le seront-elles tout le temps ?

Si oui il peut y avoir un gain de temps important sur le traitement.

tu auras droit toi aussi à une statue dans mon jardin !

Tu sais moi les honneurs... On ne peut pas plutôt avoir des places de concerts ? Si jamais tu reçois Pink Floyd...

eric

suite...

Un premier jet.

Je viens seulement de voir que tu listais les équivalents de nom de salle dans la feuille 'Répartition salles'.

Si tu peux déjà tester avec les quelques salles que j'ai créé dans la feuille 'Listes', je verrai plus tard si je peux utiliser ta feuille.

Pour cela il faudra supprimer tous les sauts de lignes et fusions de cellules qui sont totalement inutiles sur cette feuille.

Faut-il contrôler les doubles affectations ou bien c'est impossible qu'il y en ait ?

Si c'est le cas ça simplifierait si tous les mois avaient 31 colonnes avant la somme...

Pour mettre à jour une feuille mois : double-clic en A1

Ensuite si ce n'est pas trop lent on pourra envisager une maj automatique et systématique à l'activation de la feuille.

Peux-tu faire un maximum de contrôle sur le résultat retourné ? En variant tous les cas de figure qui te viennent en tête qu'on débogue cette partie.

Tu vas avoir des alertes sur les salles non déclarées dans Listes. C'est normal, pas la peine de toutes les mettre pour l'instant.

eric

PS: sur les feuilles mois, en G13 est-ce que =NBVAL(G9:G12) n'est pas suffisant ?

18dombal.xlsm (232.05 Ko)

Bonjour Eric,

Et bien je vois que je te fais bosser dès le matin ! J'ai testé ton fichier et c'est à première vue exactement ce que j'attendais

Je vais faire des tests cet après-midi car j'ai des trucs urgents à faire ce matin, mais j'ai fais déjà quelques essais et ça semble bon.

Effectivement, il y a quelques salles qui ne fonctionnent pas mais je suppose que c'est un détail à régler par la suite.

Quand tu parles de cas de double affectation, tu veux dire que la salle pourrait être utilisée 2 fois le même jour sur la même période ?

Si oui, ça peut arriver, mais il faudrait considérer que la salle est utilisée 1 seule fois et non 2 fois.

Et bien sûr on peut avoir une trame de 31 colonnes pour chaque mois, ce sera plus simple.

Pour ce qui est des noms de salles, ne serait-il pas plus simple de partir avec les noms tels qu'ils sortent sur le rapport que je dois extraire afin d'éviter toutes les manipulations ?

Par exemple, mon rapport sort le nom comme cela La Seine A (0) et moi j'avais bidouillé pour que ça apparaisse Seine A

Maintenant si c'est plus simple, on garde l'orthographe originale La Seine A (0), ça ma va parfaitement.

Si tu préfères, je t'envoie un fichier avec tous les noms des salles... et tous les niveaux car il y en a 4 en tout, et je n'en avais envoyé qu'un car ça prenait trop de place pour envoyer en fichier joint.... mais si tu me dis qu'on n'aura plus besoin des 76 colonnes de formules, ça devrait passer !

Pour revenir à la ligne 57 et le NIGHT qui n'apparait pas, oui effectivement, ça devrait apparaitre mais je ne vois pas pourquoi ça fonctionne si on indique une heure de début autre que 06:00.

Ce cas de figure ne devrait se présenter que très rarement, donc on ne se prend pas la tête pour le moment sur ce détail !

Tu as tout bon sur le fait que les infos à analyser sont dans les colonnes E:I et les dates seront systématiquement dans l'ordre chronologique.

Pour Pink Floyd, ça risque d'être compliqué, je bosse dans un hôtel qui au mieux, pourrait recevoir les techniciens mais ce type de stars vont dans des palaces !

Un énorme merci encore une fois pour le temps que tu m'accordes, c'est super sympa !

Bonne journée,

Dom

Je récupère ta liste de salles.

La maj est suffisamment rapide pour la faire systématiquement à l'activation de la feuille (tu devrais pouvoir remettre le calcul automatique sur les feuilles.

Les colonnes à partir de M peuvent être supprimées si elles ne te servent pas ailleurs.

Je ressors les anomalies dans une feuille à part.

eric

21dombal-v3.xlsm (131.88 Ko)

Eric,

Je n'ai pas eu une minute de libre aujourd'hui et je n'ai pas eu le temps de faire d'autres essais, ce sera pour demain matin car pas dispo ce soir... Je te tiens au courant dès que possible. Bonne soirée !

Bonjour Eric,

Pareil qu'hier, débordé de boulot, pas eu le temps de faire de tests, je regarde ça ce weekend.

Bon weekend, Dom

Bonjour Eric,

Je viens de faire des tests, et en fait je n'avais pas vu que dans ton dernier post tu avais ajouté la version 3 du fichier avec les dernières modifs etc.

Donc je l'ai ouvert, j'ai vu ton onglet "liste" et tes recommandations, et là, miracle ! Ca fonctionne apparemment à merveille, mieux que ce que j'aurais espéré en fait ! C'est nickel, je suis super étonné de la facilité avec laquelle tu as trouvé une solution à ce fichier qui commencait à me prendre la tête !

Je n'ai pas la possibilité de faire un test grandeur nature car je suis à la maison et donc demain au bureau, je vais exporter mes données sur l'année 2013, je vais crééer les 11 autres onglets etc et je ferai tourner ton outil et on verra ce que ça donne. J'ai déjà ajouté l'onglet février et je craignais que ça foire toute la macro, mais en fait pas du tout, donc non seulement l'outil est top, mais il est flexible quant à sa mise à jour donc je dis : chapeau bas l'artiste !

Il faudrait vraiment que je me mette aux macros, mais c'est quand même balèze, mais qu'est ce que ça rend comme services quand on maîtrise le sujet !

En attendant mon petit compte rendu, je te remercie encore énormément pour ton énorme coup de pouce et si j'ai un troisième fils, je l'appelerai Eric !

Bon dimanche et je te tiens au courant demain !

Dombal

Bonjour,

Merci pour le retour.

J'ai fait qcq ajouts :

  • les caractéristiques de la réservation sont mises en commentaire ainsi que le (les) n° de ligne d'origine
  • si multi-affectation : fond cellule en jaune. Les différentes lignes d'origine sont listées avec les horaires.
  • double-clic sur la réservation : la feuille 'occupancy xxxx' est activé avec la ligne d'origine sélectionnée
Si c'est superflu mettre en commentaire avec un ' les lignes concernées du code.

- Une feuille mise à jour a OK mis en F8.

La mise à jour n'a donc lieu qu'une fois en cas de modifications dans 'occupancy xxxx' (qui efface le OK de toutes les feuilles mois).

eric

21dombal-v4.xlsm (148.06 Ko)

Mais où vas-tu t'arrêter ? L'outil devient de plus en plus complet, et rien de ce que tu as amélioré n'est superflu, au contraire.

Je teste tout ça demain, et si je constate des bugs ou si je pense à d'autres améliorations, je me permettrai de te solliciter pour avoir ton avis.

Encore merci et bonne soirée,

Dom

Rechercher des sujets similaires à "galere formule"