Compléter des années conditionnellement

Accueil – Le CFO masqué Forums Power Query Compléter des années conditionnellement

  • Ce sujet contient 2 réponses, 2 participants et a été mis à jour pour la dernière fois par Nulll, le il y a 1 année et 3 mois.
3 sujets de 1 à 3 (sur un total de 3)
  • Auteur
    Messages
  • #134766
    Nulll
    Participant

    Bonsoir à tous,

    Le cas que je vous soumets semble trivial au premier abord mais … est finalement tordu. Les solutions possibles (si elles fonctionnent) vont bouffer un temps de calcul énorme.

    Voilà:
    J’ai un rapport d’inspection qui me donne les Réparations à faire ainsi que les Maintenances sur une période de 25 ans. J’en fait un modèle excel qui me permettra de faire des simulations en changeant des paramètres.

    Afin de ne pas blablater inutilement et perdre tout le monde, prenons un exemple. En ce qui concerne le stationnement, il est recommandé de faire un travail de maintenance sur l’asphalte tous les 10 ans. Mais refaire l’asphalte à neuf tous les 65ans. Pour l’exemple on va faire comme si il avait été recommandé tous les 15ans. J’ai aussi, comme donnée, la prochaine année où chacun devraient être fait. 2033 pour la maintenance et … aux calendes grecques pour refaire l’asphalte (hors des 25 ans). Mais la encore pour l’exercice je ramène cela à 2041 par exemple.

    Si vous ne réfléchissez pas trop, vous vous dites facile: Maintenance: 2033, 2043, 2053. Et pour l’asphaltage neuf: 2041, 2056. Ti gui dou c’est réglé. Heu non. Vous, vous feriez de la maintenance alors que vous êtes à 2, 3 ans de le refaire, ou alors qu’il est neuf de juste 2, 3 ans ? Non. Bon pour faire simple, on va dire qu’on voudrait éliminer la maintenance quand la date est proche avant ou après, d’un cycle maintenance. (10ans). Hmm pas clair. Donc Date Réparation + ou – 10 ans.

    Attention au 2ième piège: Sauter une maintenance pour cette raison c’est réinitialiser les années de maintenance suivantes. Donc c’est prendre pour référence l’année des travaux pour déterminer les prochaines maintenances. Date Maintenance (héritée de Date Réparation) + 10 + 10 + 10 …

    Vous pensez avoir une solution ? Alors j’ajoute un niveau de difficulté. Mon exemple était pour vous faire comprendre l’enjeu mais les cycles de vie que j’ai donné sont trompeurs. Imaginons que j’aurais quelque chose qui demande de la maintenance tous les deux ans et des Réparations tous les 7 ans. Vous voyez le problème ? À un moment M on compare qui avec qui? La méthode “bourrin” devrait alors obliger de comparer chaque date maintenance à chaque date de réparation. Quand les conditions définies plus haut sont rencontrées, alors il faudrait réactualiser les années maintenances subséquentes et continuer les comparaisons.

    Franchement je suis en train de me demander si Power Query est le meilleur environnement pour traiter cela. Je me demande si je ne ferais pas mieux de le traiter en vba.

    Mais peut-être avez vous une idée brillante. Je suis encore très loin d’être un utilisateur super expérimenté en Power Query

    #134783
    Xavier Allart
    Participant

    Bonjour

    Pour bien comprendre le probleme pouvez vous nous fournir un exemple sous forme de fichier Excel du rapport d’inspection. Merci

    Cordialement

    #134875
    Nulll
    Participant

    Bonjour Xavier,

    Désolé, pour le délai de réponse. J’ai fait un blitz sur une solution possible (qui fonctionne mais … Tout se trouve expliqué dans le fichier Excel joint).

    J’ai la très désagréable impression de passer à côté d’une solution simple et puissante (et qui réponde aux conditions que j’ai listé dans le xlsx). J’anticipe d’avance de me traiter de Nulll 😉

    Merci par avance pour toutes les solutions qui me seront proposées.

    Cordialement

    Attachments:
    You must be logged in to view attached files.
3 sujets de 1 à 3 (sur un total de 3)
  • Vous devez être connecté pour répondre à ce sujet.