Monsieur Excel
Pour tout savoir faire sur Excel !

20 octobre 2019

Création d’un graphe générique (a)

J’ai été confronté au problème que je vous présente aujourd’hui il y a quelques années, quand je travaillais comme consultant pour Aéroports de Paris. J’ai en effet réalisé pour AdP un grand nombre de modèles entre 2000 et 2012.

Le premier de ces modèles simulait des tapis roulants portant les bagages des passagers. Il se trouvait qu’AdP louait à Air France ces tapis roulants et qu’Air France, estimant que leur efficacité n’était pas à la hauteur, réclamait d’importants dommages et intérêts à AdP.

AdP a donc lancé un appel d’offres pour l’analyse de ces tapis roulants avec deux objectifs : d’une part, trouver des arguments pour contrer les attaques d’Air France et, d’autre part, utiliser le modèle de simulation des tapis roulants pour améliorer leur efficacité.

AdP a eu un problème avec cet appel d’offres. Mon devis était de 300.000 F et le moins cher des concurrents était à 1.500.000 F. J’ai failli ne pas obtenir la commande d’AdP à cause de cet écart mais ce qui m’a sauvé, c’est que, dans la commission analysant l’appel d’offres, un des membres appartenait à une société pour laquelle j’avais réalisé un modèle qui avait très bien marché.

Ils se sont alors dit : « Si l’on prend cette solution et qu’elle ne marche pas, on aura perdu 3 mois et 20% du budget. Si en revanche elle marche, on gagne une année et on économise 80% du budget ». Ils ont pris le risque, et cela a tellement bien marché que j’ai ensuite réalisé des modèles pour AdP durant plus de 10 ans.

Le problème dont je parle aujourd’hui est le suivant. Une responsable d’AdP avait un gros modèle pour analyser, durant la journée, le nombre de piétons – minute par minute – à plusieurs endroits sensibles de l’aéroport. Ce modèle faisait plus de 40 Mo. Quand on l’ouvrait, il plantait Excel une fois sur deux. Quand on le fermait, ou même quand on faisait des modifications, cela prenait du temps…

Il y avait un certain nombre d’onglets, avec plusieurs graphes par onglet.

Quand j’ai terminé mon intervention, bien que j’aie ajouté au modèle initial de nouvelles fonctionnalités, sa taille était tombée à moins de 10 Mo, et tous les problèmes avaient disparu.

Comment y suis-je arrivé ? En fait, c’est tout simple… J’ai éliminé tous les graphes de tous les onglets et j’ai créé un nouvel onglet, avec un graphe unique, mais contenant des menus déroulants et avec lequel on pouvait générer 8.064 graphes différents.

Je vous propose donc de trouver une solution de ce genre. Vous avez quatre séries de données, les trois premières dans un onglet, la dernière dans un autre onglet (photo encadrée de bleu).

Essayez de créer, sur un troisième onglet, un graphe contenant un menu déroulant permettant de choisir la série à représenter. Voici les séries sur lesquelles nous allons travailler, mais rien ne vous empêche d’utiliser quatre autres séries de votre cru :



6 Commentaire(s):

  • Bonjour

    J'ai un peu simplifié le problème pour le résoudre rapidement en posant toutes les données sur le même onglet, avec la même orientation et la même taille...

    Mais en utilisant les nouvelles fonctionnalités d'Excel 365 "dynamic arrays" on peut facilement régler la question :
    - un nom pour chaque série,
    - une liste déroulante pour choisir la bonne série,
    - une fonction indirect pointant sur la cellule contenant la liste déroulante (avec l'aide de la nouvelle fonctionnalité dynamic arrays qui affiche alors la plage complète)
    - et un graphique pointant sur la plage dynamique...

    Pas une ligne de macro... une solution comme je les aime !

    Bon, j'ai simplifié... mais la direction de travail me semble bonne par sa grande simplicité. On doit pouvoir l'utiliser pour des données sur plusieurs onglets et de forme différente.

    Cordialement

    jhbf

    le fichier partagé pour voir ma solution :
    https://1drv.ms/x/s!AgjfK003EUtdgt0cNo4f-nVEAuvmkA?e=aDz5kt

    By Blogger jhbf, sur 11:12 AM  

  • Très belle solution, jhbf, simple et efficace.

    By Blogger Derje Boven, sur 10:06 AM  

  • Les "dynamic arrays" ne sont disponibles pour l'instant que pour les Office Insiders.
    Bientôt sans doute pour les utilisateurs lambda....

    By Anonymous cduigou, sur 8:44 PM  

  • Bonjour Cduigou.

    J'avais effectivement oublié que les "fonctions de tableau dynamiques" n'étaient pas encore officialisées. Mais pourquoi se priver de nouvelles fonctionnalités quand elles existent ? Surtout quand elles sont, c'est le cas pour les "fonctions de tableau dynamiques", une véritable innovation dans le tableur ! On pourrait même dire une révolution (une formule dont l'effet s'affiche sur plusieurs cellules).
    Office insiders est gratuit, je n'ai jamais rencontré de problème avec les versions installées. Je ne peux que vous encourager à tester. (Pour peu que la non-comptabilité descendante ne soit pas un handicap majeur).
    Cordialement
    jhbf

    By Blogger jhbf, sur 12:42 PM  

  • Bonsoir Jhbf

    Sur son ordinateur perso, chacun fait en effet ce qu'il veut (bien sûr que je profite de la version Insider !). Par contre, si vous travaillez en prestation pour une entreprise êtes-vous sûr de pouvoir livrer ? :)))

    By Anonymous cduigou, sur 8:08 PM  

  • Bonsoir Cduigou
    Je partage complètement.
    Un vrai problème en effet que j'ai rencontré dans ce type de situation (il y a quelques années) : une vraie frustration de devoir penser une solution fonctionnant sur des versions parfois très anciennes d'Excel chez des clients. Surtout quand un seul poste obsolète vous oblige à tenir compte des seules fonctions existantes 10 ans plus tôt !
    La volonté de Microsoft de louer un Office 365 mis à jour régulièrement plutôt que de vendre des licences permanentes a finalement du bon pour le développeur de solutions. Il trouvera une base installée plus homogène et toujours dans la dernière version commercialisée.
    cordialement
    jhbf

    By Blogger jhbf, sur 6:44 PM  

Enregistrer un commentaire

<< Accueil