Monsieur Excel View RSS

Ce blog vous donnera de nombreux trucs et astuces pour Excel !
Hide details



Suivi COVID Italie & US 5 Sep 2020 11:04 PM (4 years ago)

Nous voyons dans cet article comment a été l’évolution du COVID en Italie et aux USA. Les données en provenance d’Espagne étant beaucoup moins fiables car moins régulièrement mises à jour et plus divergentes d’un site à l’autre, j’ai préféré les ignorer.

Evolution en Italie

On constate immédiatement la grande similarité entre les statistiques italiennes et les statistiques françaises. On retrouve le même genre de pic initial, la même décroissance régulière des deux courbes, puis le même genre de plateau et enfin, sur le dernier mois, la même augmentation du nombre de personnes atteintes alors que le nombre de décès reste modéré.

Evolution aux USA

Pour le coup, le graphe des USA se distingue totalement des trois autres, l’Espagne ayant à peu près le même type d’évolution que la France et l’Italie. Cela est probablement dû à la sagesse légendaire du dirigeant américain, que le discernement exceptionnel dont il est capable a amené à déclarer tout et son contraire… Jusqu’à conseiller des injections d’eau de Javel !

Les USA sont les seuls à ne pas afficher le type d’évolution observable dans de nombreux pays ayant bien perçu le danger de la crise terrible que nous subissons depuis des mois : une régression progressive suivie par un plateau puis par une re-croissance du nombre des personnes atteintes sans que la mortalité ne suive dans la même proportion.




Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Suivi COVID avec Excel 27 Aug 2020 2:36 AM (4 years ago)

Dans quelques messages antérieurs, je vous ai montré comment je suivais l’évolution du COVID dans quatre pays (France, Italie, Espagne, USA) à l’aide d’un graphe Excel.

Je vais, dans cet article, vous expliquer quelques principes de base pour la réalisation efficace de graphes Excel. J’en profiterai pour vous montrer où en est mon dernier graphe pour la France.

Remarque – Dans le graphe ci-dessous, il y a un trou dans la série bleue dû au fait que les données que j’avais en cette période étaient totalement contradictoires entre mes deux principales sources d’information. Plutôt que de faire un choix, j’ai préféré masquer des données en entrant des =na() dans les cellules concernées.

Comment rendre un graphe lisible…

Il y a de grandes différences – heureusement ! – entre le nombre de personnes atteintes et le nombre de décès. C’est typiquement le genre de situation où le graphe est plus lisible avec deux axes. Nous avons donc représenté le nombre de personnes atteintes avec l’axe vertical gauche et le nombre de décès avec l’axe vertical droit.

Pour faciliter la lecture du graphe, nous avons utilisé le bleu pour les personnes atteintes et le rouge pour les décès. Le menu déroulant en J6 sert à sélectionner le pays concerné, et la zone J2:J4 permet de basculer entre valeurs cumulées et valeurs quotidiennes. Avec ces deux éléments réunis, nous pouvons donc afficher 8 graphes différents.

Nous constatons, comme cela est clairement dit dans les médias, que le nombre de personnes atteintes est en croissance régulière depuis le début juin, alors que le nombre de décès – heureusement ! – reste très modéré.

Pour zoomer sur les décès, il suffit de modifier l’axe droit pour mieux voir le détail des décès sur les trois derniers mois…



Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

La fonction Unique() 2 Aug 2020 7:26 AM (4 years ago)

La fonction Unique() fait partie des nouveautés d’Excel 365, encore qu’elle ne soit pas pour le moment disponible pour toutes les versions de 365…

A l’instar d’autres fonctions récentes, on ne peut pas dire que sa traduction soit de bonne qualité, comme vous pouvez le constater dans la copie d’écran ci-dessous qui reproduit son aide en ligne.

D’une part, la confusion – hélas trop fréquente, même pour certaines fonctions beaucoup moins récentes d’Excel ! – entre les séparateurs américains (la virgule) et français (le point-virgule). A cela s’ajoute, pour de nombreuses fonctions récentes, le mélange des deux langues avec l’absence de traduction de nombreux termes !

Un peu plus de professionnalisme de la part de Microsoft serait le bienvenu !

N’importe quel stagiaire d’une école de commerce aurait fait beaucoup mieux que cela…


La liste des pays 

Prenons comme premier exemple la liste de tous les pays dans la petite base placée dans les 6 premières colonnes. Si nous entrons en H1 la simple formule =unique(F:F), nous obtenons le résultat reproduit ci-dessous. Notez au passage qu’Excel a automatiquement répandu la formule vers le bas.

Nous apprécions le fait qu’Excel ait bien gardé le nom de la colonne sans l’incorporer dans le tri.

Remarque – Bien qu’il n’y ait rien au-dessous, cela nous ajoute en ligne 21 un « 0 » dont on ne voit pas bien la raison. Si l’on ne veut pas de ce parasite, il faut utiliser la formule =unique(F1:F26).

La liste des pays uniques

Il ne reste plus qu’à jouer avec le second et le troisième paramètre pour faire apparaître d’autres résultats. Ainsi, la formule entrée en K1 nous permet-elle de lister dans l’ordre alphabétique tous les pays dont le nom n’apparaît qu’une seule fois dans la base !

Remarque sur Blogger –

Blogger a modifié son interface et j'ai beaucoup de mal à travailler avec la version actuelle du site où je rencontre plein de problèmes que je n'avais pas avec la version que j'utilisais depuis la création de ce blog. Cela explique mon silence depuis le début du mois. Je vous prie de m'en excuser !

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Quelques nouvelles fraîches 9 Jul 2020 7:10 AM (4 years ago)

Chères lectrices, chers lecteurs,


Je vous prie de m’excuser pour ce long silence, le premier aussi long depuis le lancement de ce blog il y a 15 ans de cela. Je viens en effet de déménager après avoir vécu pendant plus de 45 ans dans ma maison, et ce pour emménager dans un appartement trois fois plus petit. Comme vous pouvez l’imaginer, cela n’a pas été une mince affaire, compliquée encore par les problèmes de confinement que vous connaissez…

Renouvellement de mon titre de MVP

La première nouvelle est que je viens, pour la 12ème année consécutive, d’être renouvelé dans mon titre de MVP. Le titre MVP Excel, ainsi que de nombreux titres « précis » comme lui, a été tué par Microsoft durant l’année passée, ce qui je trouve – ainsi que la quasi-totalité de mes collègues – extrêmement dommageable, mais nous n’y pouvons rien.


Je suis donc l’un des 18 MVPs en France dans la catégorie « Office Apps & Services » ; à titre indicatif, il n’y a que deux de ces 18 personnes qui soient consultants Excel : Frédéric Le Guen – qui a rejoint l’an dernier Logma, la société de conseil que j’ai fondée il y a 40 ans – et moi-même.

Au total, il y a dans le monde une centaine de MVPs, dans Office Apps, qui soient des experts Excel.

Un ouvrage collectif par les experts

Bill Jelen, autrement dit MrExcel, a créé son blog avant moi. Je lui ai demandé, quand j’ai créé ce blog, si cela ne lui dérangeait pas que j’utilise le nom « Monsieur Excel ». Il a accepté sans problème et m’a même souhaité bonne chance.

Il y a quelque mois, il a sélectionné 23 autres experts Excel dans le monde et leur a demandé d’écrire chacun un chapitre dans le livre d’experts Excel qu’il souhaitait publier au début de l’année 2020. Frédéric et moi sommes 2 des 23 auteurs qu’il a réunis pour créer cet ouvrage.


Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Fonctions mat. dynamiques (c) 13 Jun 2020 1:14 AM (4 years ago)

Dans l’article précédent, nous avons introduit la fonction Trier().


Nous allons aujourd’hui découvrir une dimension supplémentaire de cette fonction.

Un tri à deux dimensions

Reprenons l’exemple de l’article précédent. Mais, cette fois-ci, nous sommes plus ambitieux !

Nous voulons en effet effectuer un tri à deux dimensions, ce qui ne semble pas évident quand on consulte l’aide en ligne de la fonction. Nous souhaitons trier en fonction de deux critères, l’âge (en ordre croissant) et le salaire (en ordre décroissant).

Quand on regarde l’aide en ligne d’Excel, rien n’indique comment faire, ni même que cela est tout simplement possible.

L’astuce est que le second et le troisième argument de la fonction ne sont pas nécessairement des constantes : ils peuvent aussi être des vecteurs.

La formule à entrer en H2 pour atteindre notre objectif est donc :
=trier(C2:F26;{2;3};{1;-1})

Le second argument indique que l’on va effectuer un double tri : sur les colonnes n°2 et 3 de la sélection, c’est-à-dire les colonnes Age et Salaire, et que le premier tri sera croissant (1) et le second décroissant (-1).

Nous voyons le résultat ci-dessous, c’est exactement ce que nous attendions !


Remarque – On peut seulement regretter qu’Excel ne récupère pas les formats numériques de la source. Ainsi, les salaires récupérés ne sont pas formatés en euros…

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Fonctions mat. dynamiques (b) 29 May 2020 1:00 AM (4 years ago)

Dans l’article précédent, nous avons introduit les fonctions matricielles dynamiques. Avec elles, Excel s’est enrichi de plusieurs nouvelles fonctions qui exploitent particulièrement bien leurs possibilités.


Syntaxe de la fonction Trier()

La tout première que nous allons analyser est la fonction Trier(), à ne pas confondre avec la fonction Tri() qui – en fait – signifie tout à fait autre chose : Taux de Rendement Interne.

La syntaxe de la fonction Trier() est la suivante :
=Trier(table;[index_tri];[ordre_tri];[par_col])

L’argument tableau identifie le tableau de départ.
L’argument index_tri identifie le n° de la colonne (ou ligne) en fonction de laquelle le tri aura lieu.
L’argument ordre_tri est 1 (croissant) ou -1 (décroissant), avec 1 par défaut.
L’argument par_col est VRAI ou FAUX selon que le tri s’effectue par colonne (valeur par défaut) ou par ligne.

En conclusion, quand les deux derniers arguments sont absents, on effectue un tri croissant et par colonne.

Utilisation de la fonction Trier()

Nous reprenons dans le tableau ci-dessous une minibase que nous avons déjà utilisée par le passé. Dans cet exemple simple, nous avons entré en H2 la formule =trier(c2:f26;4) pour demander à Excel de reproduire le tableau demandé en effectuant un tri croissant sur sa quatrième et dernière colonne, celle du pays.


Remarque – Comme c’est toujours le cas avec les fonctions matricielles dynamiques, tout le rectangle de H2 à K26 s’est automatiquement rempli avec le tri effectué comme demandé sur le nom du pays.

Comme nous l’avons souligné dans l’article précédent, tout le tableau s’est rempli de façon automatique, seule la formule de H2 apparaissant en gras. Dans toutes les autres cellules, la formule est grisée, ce qui souligne le fait que ces cellules ne sont pas celles qui contiennent la formule originale.


Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Fonctions mat. dynamiques (a) 13 May 2020 4:45 AM (4 years ago)

Si vous avez une version d’Excel récente, par exemple une licence 365, vous pouvez à présent utiliser les fonctions matricielles dynamiques appelées dynamic arrays en anglais.


Il s’agit d’un changement fondamental dans Excel qui permet entre autres d’écrire une simple formule là où il fallait parfois avoir recours à des formules matricielles, donc validées avec [Ctrl]-[Maj]-[Entrée].










Clic dans une cellule de la nouvelle table

Quand on clique dans l’une quelconque des cellules de ce nouveau bloc, un encadrement entoure l’ensemble des cellules du nouveau bloc et la formule =A4:D17 apparaît en police grise dans la barre de formule, sauf si c’est en I7 que l’on a cliqué auquel cas la police n’est pas grisée.

Destruction d’un bloc de cellules

Si l’on sélectionne un bloc comportant des cellules du bloc I7:L20 mais n’incluant pas la cellule I7 pour l’effacer ou le détruire, tout ce qui a été détruit réapparaît immédiatement !

En revanche, dès que l’on efface ou détruit la cellule I7, ou un bloc de n’importe quelle taille incluant la cellule I7, l’ensemble du bloc I7:L20 disparaît.

Saisie à l’intérieur du bloc de cellules

Si l’on entre quoi que ce soit dans une des cellules du bloc I7:L20 à part la cellule I7, ce que l’on a saisi est bien validé dans la cellule, mais tout le reste du bloc disparaît, sauf la cellule I7 qui affiche à présent le message d’erreur #EPARS! Apparemment, cela signifie « parsing error », ce qui se traduirait par « erreur d’analyse ».

Dès que l’on détruit ou efface la cellule dans laquelle on a effectué la saisie ayant provoqué l’erreur #EPARS!, ou même un bloc incluant cette cellule, le bloc I7:L20 réapparaît tel qu’il était auparavant.

Conclusion

Cette brève introduction nous permet de constater que les fonctions matricielles dynamiques représentent une innovation majeure dans Excel. Nous continuerons donc à explorer cette innovation dans les prochains articles.

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Analyse graphique du COVID (b) 8 May 2020 12:50 AM (5 years ago)

Cet article fait suite à celui du 1er mai, que je vous conseille vivement de lire en premier si ce n’est déjà fait.


Nous utilisons l’analyse en « Valeurs par jour » pour cet article.
Nous pourrions aussi faire la même étude en prenant l’option « Valeurs cumulées ».

Je maintiens les réserves initiales sur la difficulté – pour ne pas dire – l’impossibilité de trouver une source fiable pour les données quotidiennes. Ceci dit, ces graphes sont intéressants à analyser. Et, comme les données proviennent principalement d’une source unique, cela donne quand même une certain cohérence à l’ensemble.

La France

Pour la France, on constate une rapide montée en puissance depuis le 13 mars avec une culmination au début du mois d’avril.

Ensuite, les valeurs ont une nette tendance décroissante dont nous espérons qu’elle ne souffrira pas trop de la fin du confinement actuel.


L’Italie

L’Italie a connu une croissance très rapide entre le 13 mars et la fin mars. Ensuite, la décroissance a été régulière, particulièrement régulière même, ce qui paraître surprenant quand on connaît le caractère parfois fantasque et imprévisible de nos amis transalpins.

Ensuite, les valeurs manifestent une nette tendance décroissante dont nous espérons qu’elle ne souffrira pas trop de la fin du confinement actuel.


L’Espagne

Pour l’Espagne, comme pour la France et l’Italie, le plafond se situe entre la fin mars et le début du mois d’avril. On observe ensuite, comme pour la France et l’Italie, une décrue régulière mais avec cependant beaucoup moins de régularité que celle observée par l’Italie et – à moindre titre – par la France.


Les Etats-Unis

Sans surprise, les courbes des USA sont décalées vers la droite dans le temps. En revanche, pour le moment, il n’y a pas de claire évolution vers une régression. Est-ce dû à la sagesse proverbiale de leur président ?


Conclusion

Espérons que ces courbes, si jamais j’ai l’occasion de les reproduire dans quelque temps, auront eu la sagesse de bien évoluer.

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Analyse graphique du COVID (a) 30 Apr 2020 11:31 PM (5 years ago)

Tous les jours, nous sommes noyés – depuis une multitude de sources – par des chiffres et des graphiques sur la progression du COVID dans le monde. Je n’ai hélas pas encore trouvé une seule source qui soit entièrement fiable et dont les valeurs, jour après jour, restent cohérentes.


La source principale que j’utilise à cet effet est :
https://www.linternaute.com/actualite/guide-vie-quotidienne/2486227-coronavirus-en-italie-espagne-allemagne-chine-carte-du-monde-et-situation-par-pays/

Même avec cette source, il arrive souvent (et toujours pour les USA !) que l’écart affiché par rapport à la veille ne colle pas avec la différence entre la valeur du jour et la valeur indiquée la veille ! Quand ces incohérences ne trouvent pas de solution, j’invente une valeur cohérente avec le reste…

Si vous connaissez un endroit où l’on peut trouver des données cohérentes, jour par jour, SVP indiquez-le dans un commentaire !

La structure du modèle

Pour réaliser ce modèle, j’ai utilisé la validation de cellule pour le choix du pays et inséré des contrôles de formulaire (Développeur puis Insérer) pour le choix de valeurs cumulées ou individuelles.

J’ai ensuite utilisé des noms dynamiques pour les X et les Y de chacun des deux graphes.

Ainsi, pour ls série des morts, la formule du graphe est : =SERIE("Morts";Calendrier.xlsm!mes_X;Calendrier.xlsm!Mes_Y2;2)

Mes_X est défini par :
=Corona!$A$4:decaler(Corona!$A$2;NBVAL(Corona!$A$1:$A$52)-1;0)

Et Mes_Y2 par =decaler(Mes_Y1;0;1) et Mes_Y1 par : =decaler(mes_X;0;5).

Les résultats pour la France

Vous trouverez ci-dessous le résultat obtenu pour la France, en valeurs cumulées puis en valeurs par jour.





Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

La fonction Equiv() 26 Apr 2020 12:21 AM (5 years ago)

Cet article complète la série des articles publiés récemment sur les fonctions de recherche d’Excel :
 

22 mars 2020 : La fonction Index()
29 mars 2020 : Index() avec des trous
06 avril 2020 : La vie de la fonction Recherche()
13 avril 2020 : Les fonctions RechercheV et …H

Syntaxe de la fonction Equiv()

La syntaxe de la fonction est : =equiv(valeur_cherchée ;vecteur_recherche[;type])

Une fois de plus, ne vous fiez pas à la syntaxe proposée par Excel (cf ci-dessous) quand vous avez saisi =equiv(. En effet, cette syntaxe comporte deux erreurs. 

Premièrement, ce n’est pas un tableau de recherche, ce qui ferait a priori penser à une matrice, mais en fait un vecteur de recherche.

Ensuite, comme dans pratiquement toutes les syntaxes proposées par Excel pour les fonctions avec au moins un argument facultatif, le [ est mal placé. Si vous mettez le dernier « ; » sans le faire suivre par un type, vous obtenez une erreur. C’est donc la syntaxe que je vous propose ci-dessus qui est la bonne !


Utilisation courante de Equiv()

Dans l’utilisation courante de la fonction, equiv(), on recherche la valeur_cherchée dans le vecteur indiqué. Si l’argument est 1 (ou s’il est omis), on ramène la position dans le vecteur de la dernière valeur inférieure ou égale à valeur_cherchée . Dans notre exemple, quand on cherche le 25 de la cellule E2 dans le vecteur G1:G91 avec le paramètre 1, on trouve bien 4 qui est la position dans la colonne G de la dernière valeur inférieure ou égale à 25.

Si l'argument est 0, on cherche la position de la première valeur égale à celle que l'on cherche.
Si l'argument est -1, on cherche la position de la dernière valeur supérieur ou égale à celle que l'on cherche.


Une utilisation originale de Equiv()

Quand on a bien compris le fonctionnement d’Equiv(), on peut utiliser cette fonction pour atteindre des objectifs originaux. Supposons par exemple que nous souhaitions obtenir la position de la dernière valeur renseignée dans la colonne C, sachant que cette colonne ne peut recevoir que des valeurs positives.

La solution de la cellule E9 s’impose alors avec évidence : la dernière ligne renseignée est tout simplement la dernière ligne avec une valeur supérieure à -1 !

Remarque – Si la colonne C pouvait aussi recevoir des valeurs négatives, il suffirait alors d’utiliser la formule =equiv(10^-20;C:C;-1) à condition que toutes les valeurs de la colonne C soient supérieures ou égales à 10^-20…

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Tirez profit du Covid-19 ! 16 Apr 2020 12:28 AM (5 years ago)

Nous sommes tous contraints par le Covid-19. Le seul côté positif, si l’on peut dire, est que l’on a – souvent bien malgré soi ! – retrouvé du temps libre. Vous pouvez profiter de ce temps pour essayer de progresser sur Excel, ce qui finalement vous fera gagner du temps dans l’avenir.


J’anime depuis plus de 10 ans au MBA HEC un électif baptisé « Advanced Excel Modelling ». C’est à ma connaissance le seul électif dont l’effectif est toujours plein dès le soir du premier jour où il est proposé aux étudiants. C’est un électif de 6 séances de 3 heures chacune qui correspond à la formation en 2 jours « Modélisation avec Excel » que je propose depuis des années via Logma, la société de conseil que j’ai créée il y a 40 ans et qui compte aujourd’hui une dizaine de consultants, dont les deux seuls consultants en France qui soient MVP Excel de Microsoft (Frédéric le Guen et votre serviteur).

Un premier tableau de bord

Je débute cette formation par la création par les élèves d’un petit tableau de bord assez simple puisque la seule fonction Excel qu’il utilise est la fonction Somme(). Un bon tableau de bord doit être en effet assez  simple pour qu’un patron puisse le comprendre :)

Je donne 10 minutes à mes élèves pour réaliser ce qu’ils peuvent. S’ils terminent avant, ils me font signe et je vais vérifier leur travail.  Ensuite, je le réalise devant eux, sans rien leur expliquer. D’expérience, je le fais 3 fois plus rapidement que le temps moyen des 4 élèves les plus rapides. Enfin, je passe un certain temps à le refaire pas à pas en expliquant toutes les astuces.

Un jour, un participant m’a dit : « Vous avez économisé quelques minutes, cela vous fait une belle jambe ! » Je lui ai répondu que, de la même façon, je pouvais développer en un jour ce qui aurait pris 3 jours aux 4 meilleurs d’entre eux…

Mes formations habituelles

Si vous cliquez dans le bouton « Prochaines formations » dans le bandeau droit de ce blog, vous pourrez voir la liste complète des formations que je propose. Les trois formations qui ont le plus de succès sont les formations « Modélisation avec Excel » et « Création de tableau de bord sous Excel » et « La modélisation du risque (Crystal Ball) ».

A titre indicatif, la formation « Modélisation avec Excel », outre qu’elle marche très fort au MBA d’HEC, a déjà été animée en séminaire intra, pour ne citer que quelques exemples, chez Aéroports de Paris, Arianespace, Aventis, Banques Populaires, Bouygues, Cegelec, CNES, Dassault Systèmes, EdF, EADS, Elf, Ernst & Young, Finacor, France Telecom, HSBC, MBDA, Sacilor, Sanofi, SKF et Total.

Mon offre exceptionnelle « Covid-19 »

Quand un participant s’inscrit à une formation collective (effectif maximum de 8 personnes), il est facturé 800 € HT pour une journée et 1.500 € HT pour deux jours.

Ma proposition exceptionnelle, valable durant le temps du confinement, est la suivante. Je vous propose un cours particulier – à distance bien sûr ! – d’une journée au tarif de 800 € HT, c’est-à-dire le même prix que vous payeriez pour participer à un cours collectif.

Vous pouvez choisir vous-même le sujet de cette formation, à prendre dans mon catalogue, par exemple la moitié de la formation « Modélisation avec Excel ».

La seule condition est que cette formation soit payée d’avance. En effet, pour une telle proposition, je ne peux pas envisager de perdre du temps à récupérer le règlement de la journée.

Si cela vous intéresse, contactez-moi à : thiriez@hec.fr.

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Les fonctions RechercheV et RechercheH 13 Apr 2020 4:55 AM (5 years ago)

Les fonctions RechercheV() et RechercheH() ont été créées pour ajouter de la flexibilité à la fonction Recherche() en permettant à l’utilisateur de choisir la position de la colonne (ou ligne) fournissant le résultat. En plus, elles ne dépendaient plus de la forme de la matrice (verticale ou horizontale), ce qui troublait certains utilisateurs.


La première syntaxe de RechercheV ou …H

La syntaxe de RechercheV était initialement =recherchev(valeur;matrice;n°colonne). En fait, elle fonctionnait comme la fonction recherche() sur une matrice carrée ou verticale, mais en ramenant la valeur de la colonne sélectionnée plutôt que celle de la dernière colonne.

Cela correspondait à la demande de nombreux utilisateurs. Mais une autre demande de nombreux utilisateurs restait insatisfaite, à savoir comment faire pour exiger que la valeur cherchée soit égale à une valeur de la première colonne.

Nous voyons dans l’image suivante, dans la cellule B14, ce qui se passe quand on fait un simple recherchev() pour trouver le nom de la personne à partir de son prénom. Comme il n’y a pas de Jules, Excel renvoie le nom de la personne ayant le dernier prénom antérieur à Jules.


Certes, on pouvait résoudre le problème comme cela a été fait en B15. Mais plus de 90% des utilisateurs d’Excel en étaient totalement incapables.

La solution utilisée en B16, grâce à la seconde syntaxe de RechercheV (avec faux), résout le problème plus aisément !

La seconde syntaxe de RechercheV ou …H

En effet, la seconde syntaxe de RechercheV (ou …H) comporte un dernier argument. Quand ce dernier argument est faux, un message d’erreur s’affiche si le prénom demandé n’appartient pas à la liste des prénoms.

Il y a une différence fondamentale quand on utilise ce dernier argument : Microsoft utilise alors un autre algorithme que l’algorithme traditionnel de Recherche().

L’ancien algorithme compare la valeur cherchée à la valeur courante dans la colonne de recherche et, dès que la valeur cherchée est inférieure à la valeur courante, s’arrêt et remonte d’une ligne pour fournir le résultat. Cela suppose que la première colonne soit rangée en ordre croissant.

Quand on utilise un recherchev() avec faux en dernier argument, c’est un autre algorithme qui est utilisé. On descend alors dans la première colonne jusqu’à ce que l’on trouve la valeur cherchée. Dès qu’on la trouve, on s’arrête ! Ce qui signifie qu’il n’y a plus du tout la nécessité que la première colonne soit rangée en ordre croissant.

En conséquence, dans notre exemple, si l’on cherche Gilles, on trouve Lebleu avec le recherche() tout court ou le recherchev() simple, et Lenoir avec le recherchev() avec faux à la fin !

Tout cela est subtil et, à mon humble avis, l’utilisateur lambda d’Excel n’en est pas conscient…

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

La vie de la fonction Recherche() 6 Apr 2020 9:05 AM (5 years ago)

La fonction Recherche() est vraiment fondamentale. Elle présente la particularité d’être l’une des 31 fonctions de Visicalc, le premier tableur au monde, sous le nom de Lookup. Vous pourrez le revoir dans l’article Visicalc, le grand-père d’Excel du 28 février.


La première syntaxe de Recherche()

La fonction Recherche() originale d’Excel utilise la syntaxe =recherche(valeur;matrice).

Si la matrice est carrée ou verticale, les valeurs de sa première colonne doivent être en ordre croissant. Excel compare la valeur cherchée à la première colonne de la matrice, identifie la dernière ligne où la valeur reste inférieure ou égale à la valeur cherchée et renvoie alors la valeur de la matrice placée dans la même ligne et la dernière colonne.

Si la matrice est horizontale, le fonctionnement est le même, en inversant ligne et colonne.

Vous trouvez dans la première partie de la copie d’écran ci-dessous ce qui apparaît quand on entre =recherche( dans une cellule. 


Comme c’est souvent le cas avec des arguments facultatifs, Microsoft se trompe sur la syntaxe : il faut lire :
=recherche(valeur_cherchée ;vecteur_recherche[;vecteur_résultat]) 
En effet, le crochet doit être avant le « ; » sinon vous obtenez une erreur quand il n’y a pas de vecteur_résultat !

Je suis en désaccord avec la déclaration de Microsoft dans la copie d’écran ci-dessous : la fonction Recherche() est bien plus simple et plus rapide que les fonctions RechercheH ou RechercheV ou a fortiori que les solutions de type Index(Equi(…)).

La seconde syntaxe de Recherche()

Un certain nombre d’utilisateurs se plaignaient auprès de Microsoft que le résultat de la recherche soit obligatoirement à droite ou en dessous.

En réponse à cette demande, des années plus tard, Microsoft a créé une seconde syntaxe :
=recherche(valeur_cherchée;vecteur_recherche;vecteur_résultat)

Dans ce cas, Excel note la position de la valeur de référence dans le vecteur de recherche et ramène, dans le vecteur de résultat, la valeur qui occupe la même position.

Remarque – Si vous avez l’esprit vicieux, rien ne vous empêche alors d’utiliser un vecteur de recherche vertical et un vecteur de résultat horizontal. C’est en effet idéal pour créer la confusion dans l’esprit de l’utilisateur !


Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Index() avec des trous 29 Mar 2020 7:53 AM (5 years ago)

Le comportement de la fonction Index(), quand un argument est manquant, varie selon la version d’Excel dont vous disposez, et ce de façon drastique.


Il nous faut alors distinguer entre le fonctionnement traditionnel de la fonction et son fonctionnement avec une version récente, comme par exemple la version 365 Pro Plus.

Le comportement traditionnel d’Excel

Dans l’exemple ci-dessous, la formule en G9 fait référence à la ligne 2 de la matrice n°2 d’Alfred, c’est-à-dire la matrice B8:C9. En effet, Alfred est constitué, dans cet ordre, des matrices A1:B3, B8:C9 et C14:E16.


Quand on valide la formule dans la cellule G9, on obtient l’erreur #VALEUR ! car le résultat est un vecteur et qu’un vecteur ne tient pas dans une cellule unique.

Si en revanche on clique dans la barre de formule – pour activer celle-ci – et que l’on fait F9 pour calculer la formule, on constate que le résultat est bien le vecteur (29;4).

Il y a bien une façon d’obtenir le résultat : pour cela, sélectionnez G9:H9, puis cliquez dans la barre de formule pour activer la formule de G9, et enfin validez en formule matricielle avec [Ctrl]-[Maj]-[Entrée]. Et le tour est joué : vous obtenez bien 29 en G9 et 4 en H9 !


Le comportement d’Excel 365 Pro Plus

Avec la version 365 Pro Plus, on se trouve dans un autre monde car Excel fait alors du remplissage automatique.

En G9, nous demandons à Excel de nous donner le contenu de la 2ème ligne de la 2nde matrice de l’ensemble Alfred de trois matrices. Comme cette ligne comporte deux éléments, Excel remplit automatiquement H9 avec la suite du contenu de la ligne. 

  
Remarque – On voit que c’est du remplissage automatique car, si l’on clique en H9, on aperçoit la même formule qu’en G9, mais cette formule est en police grise !

En G12, nous demandons à Excel de renvoyer le contenu de la seconde colonne de la première matrice. Excel remplit alors G13 et G14 avec la même formule que G12.

Qu’arrive-t-il donc si l’on entre une formule dans une des deux cellules remplies automatiquement par Excel. Simple à faire : entrons donc 10 en G13. Nous constatons que cela fonctionne, la cellule G14 est à présent vide et G12 affiche le message d’erreur #EPARS ! (pour PARSing Error) qui indique que l’on bloque Excel dans son remplissage automatique.

Dès que l’on efface le « 10 » entré en G13 ci-dessus, le remplissage automatique est restauré !

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

La fonction Index() 22 Mar 2020 6:59 AM (5 years ago)

Dans mon article du 28 février dernier titré « Visicalc, le grand-père d’Excel », je vous montrais que le tout premier tableur, Visicalc, possédait déjà les bases de toute modélisation efficace grâce à la présence des fonctions Choose (Index) et Lookup (Recherche).


J’y expliquais aussi un certain nombre de choses sur l’évolution de la fonction Recherche() dans le temps. Il est peut-être utile, et nous le ferons dans cet article, de revoir la fonction Index() car je vois souvent des utilisateurs dans les entreprises qui la maîtrisent mal. Pire encore, certaines vidéos Internet sur cette fonction ont, dans le meilleur des cas, des lacunes évidentes et, dans le pire des cas, disent clairement des contre-vérités.

Il faut avouer que l’aide de Microsoft – loin d’être parfaire ! – a certainement contribué à cette confusion générale, à laquelle j’essaye de répondre dans cet article.

Les erreurs dans l’aide de Microsoft

La partie gauche de l’image ci-dessous montre ce qui apparaît quand on entre =index( dans une cellule. Microsoft a fait très fort, car il y a là trois erreurs, que je leur ai signalées en vain il y a plus de 20 ans et qui n’ont jamais été corrigées !

Ils ont oublié la première syntaxe, celle où il y a un vecteur et non une matrice.
Ils parlent de matrice dans la première syntaxe et de zone dans la seconde : il faudrait dire « matrice » dans les deux cas. Ou, mais moins précisément, « zone » dans les deux cas…                                                    
Si vous écrivez =index(matrice;n°ligne;) vous obtenez une erreur avec un Excel traditionnel et pas du tout ce à quoi vous pensiez avec un Excel en licence 365 ProPlus.


Pour commenter la remarque n°3, cette erreur de documentation est présente dans toute l’aide d’Excel et pour toutes les fonctions à plusieurs arguments : le « ; » devrait être entre crochets : il faudrait écrire =index(matrice;n°ligne[;n°colonne]) et non =index(matrice;n°ligne;[n°colonne]).

Si l’on regarde la partie droite de l’image, on peut faire les mêmes remarques que ci-dessus, plus noter que les arguments sont séparés dans cette aide par des « , » alors que ce devrait être des « ; ».

La bonne syntaxe pour index()

Vous pouvez voir dans la copie d’écran ci-dessous la syntaxe que je propose pour index(). Il me semble bien plus clair d’éliminer tous les crochets représentant des paramètres facultatifs et de dire, comme en I5:I7, qu’il y a en fait trois syntaxes : pour un vecteur, pour une matrice et pour {mat}, c’est-à-dire un ensemble de matrices. Voici donc ma proposition pour une bonne syntaxe d’Index :

=index(vecteur;position)
=index(matrice;n°lig;n°col)
=index({mat};n°lig;n°col;n°mat)

Remarque – Nous avons donné le nom « Alfred » à l’ensemble des trois matrices à fond jaune. Si la matrice retenue n’a pas le nombre de lignes et/ou de colonnes demandé, le résultat est #REF !



Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Je suis toujours vivant… 19 Mar 2020 9:52 AM (5 years ago)

Chères lectrices, chers lecteurs,


Je n’ai rien publié sur ce blog depuis le 28 février. C’est – de très loin ! – mon plus grand trou de publication depuis la création du blog en octobre 2005. J’avais créé ce blog en remplacement de La lettre d’Excel, une revue bimestrielle de 24 pages avec disquette que j’avais créée en octobre 1990 et publiée durant 15 ans.

Rassurez-vous, ce trou de publication récent de mes messages n’est pas dû à un problème de santé, mais au fait que, après avoir vécu plus de 40 ans dans une maison que j’avais fait construire, je me prépare à emménager dans un appartement. Passer de 350 m2 (100 m2 sur 3,5 niveaux) à un appartement de 135 m2 n’est pas chose simple…

Je tiens à remercier les lecteurs fidèles qui – jusqu’au Canada ! – se sont inquiétés de mon silence inhabituel et ont pris des nouvelles de ma santé.


Des occasions pour les chineurs

Je profite de l’occasion pour vous proposer les différents objets dont je cherche à me séparer, allant des objets les plus bénins à un objet rare, voire existant à très peu d’exemplaires dans le monde.

N’hésitez pas à transmettre cette liste à vos connaissances qui pourraient être intéressées.

Pour obtenir plus de détails ou envoyer des propositions, contactez-moi à thiriez@hec.fr.

Mad Magazine – La première revue totalement déjantée au monde.
34 exemplaires du n°136 (juin 1970) au n°400 (Décembre 2000). Etat variable : de très fatigué pour certains exemplaires à un état neuf pour d'autres.

San Antonio – 25 romans entre n°11 et n°824 + collections SA1 à SA7.

OSS 117 – 22 romans.

Paul Kenny – 11 romans.

Grand Larousse Universel – 15 volumes – Edition 1987 – Etat neuf.

Logiciels neufs

Windows (emballage d’origine) : Système d’exploitation 3.1
Microsoft (emballage d’origine) : Office 97 Professional « Mise à jour »
Mac Recorder (neuf) de Farallon

Autour de l’Apple II – Plusieurs livres :
Manuel de référence BASIC
Reference Manual for IIe only
Reference Manual addendum for IIe: Monitor ROM listings
Apple IIe Dot Matrix Printer
Travaux pratiques Applesoft IIe
Apple IIe Guide de l’utilisateur

Un objet rarissime : Javelin Plus

Javelin est un tableur génial pour lequel j’avais déjà publié un livre.
Javelin Plus était la version 2 de ce logiciel pour la sortie duquel l’éditeur, qui avait bien aimé mon livre, m’avait commandé un second ouvrage, que j’ai d’ailleurs totalement écrit avant d’apprendre que l’éditeur, suite à une série de bugs trop complexes à éliminer (et que je lui avais annoncés au fur et à mesure de ma rédaction), ne décide de ne finalement pas lancer la commercialisation.

J’ai donc un produit complet Javelin Plus – dans sa version b – qui m’a permis d’écrire ce livre jamais publié.

A titre indicatif, j’ai créé – sur le même modèle de La lettre d’Excel – une Lettre de Javelin qui s’est – et pour cause – arrêtée au n°1. Il me reste aussi quelques exemplaires de cette lettre rarissime car jamais publiée !

Pour la petite histoire, j’ai eu l’occasion de rencontrer en France l’un des deux créateurs de Javelin. Quand je lui ai montré certains des modèles que j’avais créés pour mes clients avec Javelin, il était lui-même très surpris de voir la richesse de ce que l’on pouvait tirer de son logiciel !

La suite du blog

Après cette parenthèse, rassurez-vous, je continuerai avec le fonctionnement normal du blog et, pour me faire pardonner ce grand trou de 20 jours, je le ferai très rapidement.

J’ai essayé de voir ce que m’on pouvait obtenir avec une anagramme de CORONAVIRUS. Pas de chance, je n’en ai trouvé qu’une seule qui, outre le fait qu’elle n’a pas une orthographe très convaincante, transmet un message à la moralité douteuse : SURVI O NARCO !

Bon courage à tous !

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Visicalc, le grand-père d’Excel 28 Feb 2020 4:11 AM (5 years ago)

J’ai acheté un des premiers Apple II qui ait été vendus en France. Il avait bien entendu un clavier et une documentation en anglais. Et avec cela le tableur Visicalc, le même tableur que sur les deux autres micro-ordinateurs qui à l’époque partagaient avec Apple plus de 90% du marché mondial de la micro-informatique, le Pet-Commodore et le TRS-80 de Tandy Radio Shack.


Apple France n’existait pas encore… J’étais convaincu que le micro-ordinateur et le tableur représentaient deux révolutions fondamentales. J’ai donc aussitôt écrit le premier livre en français sur Visicalc et créé Pom’s, la première revue française sur Apple :
http://sbm.ordinotheque.free.fr/apple/poms/

Après Visicalc, il y a eu le tableur Multiplan – le père d’Excel – et enfin Excel.

Pour en savoir plus sur l’histoire des tableurs :
http://monsieur-excel.blogspot.com/2017/01/de-visicalc-excel.html

Les fonctions de Visicalc

A la date du 8 décembre, Excel possédait 479 fonctions. Pour sa part, Visicalc se contentait de 31 fonctions, mais ce tableur possédait déjà la base de tout bon tableur, les fonctions Choose (correspondant à Index) et Lookup (Recherche).

Les trois fonctions fondamentales pour toute recherche sur Excel sont Recherche, Index et Equiv. Les fonctions RechercheV et RechercheH sont arrivées plus tard. Le fait qu’il n’y ait pas eu la fonction Equiv dans Visicalc n’est pas grave car on peut, dans certains cas, la synthétiser à partir des deux autres…

Les vies de la fonction Recherche()

La fonction Recherche originale – qui fonctionne toujours aujourd’hui – avait pour syntaxe =recherche(valeur;matrice) et recherchait une valeur dans une matrice.

Si la matrice était verticale ou carrée, elle cherchait dans la première colonne quelle était la position de la dernière valeur inférieure ou égale à valeur et renvoyait la valeur qui était dans la même position dans la dernière colonne de la matrice.

Si la matrice était horizontale, c’était la même chose, mais en permutant lignes et colonnes.

Cette fonction était – et est toujours ! – géniale et il est très regrettable que la plupart des utilisateurs aujourd’hui ne la connaissent même pas et la remplacent par des recherchev ou rechercheh plus lourds quand ce n’est pas – pire encore ! – par des index(equiv(…)) !

Un certain nombre d’années après la création d’Excel est apparue une seconde syntaxe de la fonction recherche : =recherche(valeur;vecteur_1;vecteur_2). Là, du coup, la fonction recherche() permet de trouver le résultat dans un vecteur placé à gauche ou au-dessus du vecteur de recherche. Et même, plus tordu encore – mais là je ne vous le conseille pas ! – de chercher dans un vecteur vertical et de trouver dans un vecteur horizontal, ou vice versa !!!

Remarque – A mon humble avis, aujourd’hui, il n’y a pas 1 utilisateur d’Excel sur 20 qui soit au courant de toutes les possibilités décrites dans le paragraphe précédent !

Les fonction RechercheH() et RechercheV()

Longtemps après la sortie du premier Excel, les fonctions RechercheV et RechercheH sont apparues, permettant de satisfaire les utilisateurs qui n’appréciaient pas le fait que c’était toujours la dernière colonne ou la dernière ligne qui fournissait le résultat.

Restait le problème des utilisateurs qui ne voulaient obtenir un résultat que si la valeur de la première colonne (ou ligne pour RechercheH) était exactement égale à la valeur recherchée.

Microsoft a alors ajouté, quelques années plus tard, un argument supplémentaire où l’on mettait Faux quand on n’acceptait pas les valeurs intermédiaires…

Voilà pour cette introduction à Visicalc. 

Si vous voulez en savoir plus sur Visicalc, je peux vous conseiller de bonnes lectures, dont il me reste quelques exemplaires :


Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Le livre de l’année sur Excel 21 Feb 2020 9:08 AM (5 years ago)


Aujourd’hui, il n’y a plus un seul MVP Excel dans le monde. De par la volonté de Microsoft qui, pour simplifier sa gestion des MVPs dans le monde, a décidé il y a quelques mois de nous incorporer dans la rubrique Office Apps & Services avec tous les MVPs spécialisés dans un produit Office.
 
Pour trouver un MVP dans le monde, il suffit de taper « Find an MVP » dans la recherche de Google. Vous constaterez ainsi qu’il y a en France 20 MVPs dans cette rubrique. Si vous ajoutez le mot-clef « Excel », comme dans la copie d’écran ci-dessous, le champ se réduit à 9 personnes. En fait, parmi eux, nous en sommes que 2 à être spécialisés principalement dans Excel : Frédéric Le Guen et moi-même. Et nous sommes tous les deux consultants dans la société Logma.


Parution du livre Excel Insights

Dans le monde, il y a aujourd’hui moins de 100 personnes qui sont des MVPs spécialisés dans Excel, et le livre « Excel Insights » réunit des articles rédigés par 24 d’entre eux sélectionnés par Bill Jelen, le célèbre « Mr. Excel » qui m’a gentiment autorisé à utiliser le nom « Monsieur Excel » il y a 15 ans. Ce nom était d’autant plus justifié que j’avais auparavant publié de 1980 à 1995 une lettre d’Excel de 24 pages (et une disquette) tous les deux mois.


Voici la table des matières de l’ouvrage :

Smart Uses of Custom Number Formatting
Ctrl+Enter
Auto-Magically Master INDEX MATCH (and Other Formulas)
Relative Named Ranges – When Named Ranges Go Walkabout
An Introduction to Excel’s New Data Types
A Look to the Future – Dynamic Arrays
XLOOKUP Debuts in Excel
Why the Love/Hate for Pie Charts?
Intermediate Charting in Excel
Creating Charts for Presentations
Advanced Filter
Power Query: Manipulate Your Data Like a Pro
Combine All Files in a Folder
Power Query M Code Approximate Match Lookup Formula
The Power Behind the Boringest Sentence in Excel
Understanding Context in Power Pivot
Thinking Through the Modelling of a Seating Chart.
Financial Modelling
Creative Excel Model Development
An Introduction to Simulation in Excel
Staying out of Trouble
Make Your Own VBA Worksheet Functions
An Overview of Modern VBA Best Practices
About the MVPs
Index

Cet ouvrage sera en vente à partir de début avril sur Amazon avec une version papier à $ 31,95 et une version Kindle à $ 10,26. Je peux en proposer quelques exemplaires dès à présent. Si cela vous intéresse, envoyez-moi un mail.

Remarque

Pour votre information, il y a un personnage indélicat qui a créé il y a moins d’un an un site sur le nom « Monsieur Excel ». Ce monsieur n’a rien à voir avec moi et ne possède aucune reconnaissance internationale ni même nationale.



Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Enigme sur les âges (c) 4 Feb 2020 7:56 AM (5 years ago)

Nous rappelons les équations pour formuler notre problème :


(1)     Jean + 10 = 2 (Anne - r)
(2)     Paul - r = 9 (Jean - r)
(3)     Paul - 8 = 0,5 (Anne + p)
(4)     Anne + p = Jean + 1 + q
(5)     Paul + q = 5 (Jean + 2)
(6)     Paul + k = 3 (Paul - Anne)
(7)     Anne - l = (1/3) * (Jean + k)
(8)     Paul + m = Paul - l + 10
(9)     Anne - n = 0,5 (Jean + m)
(10)   Anne + o = 3 (Paul - n - 6)
(11)   Paul - (Jean - 1) = Jean + o + 3

Voilà ce que cela donne dans Excel :


Il ne reste plus qu’à énoncer le problème dans le solveur.

En fait, il n’y a rien à optimiser. Tout ce que nous voulons, c’est nous assurer que toutes les valeurs de la colonne N soient nulles. Nous avons donc tout simplement mis comme objectif que N3 soit nul, et spécifié comme contrainte que les valeurs de la colonne N soient toutes nulles.


Nous lançons le solveur et, en un rien de temps, nous trouvons la solution : Jean a 3 ans, Anne a 8 ans et Paul a 15 ans !

Astuce – Dans la formulation du problème, nous nous sommes bien gardés de demander à Excel que les constantes soient toutes entières. Heureusement car, dans la solution finale, une des constantes n’est pas entière !

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Enigme sur les âges (b) 29 Jan 2020 3:26 AM (5 years ago)

Dans l’article précédent, nous avons formulé les équations qui nous permettent de prendre en compte les conditions imposées par le premier paragraphe, que nous allons reproduire ici en les commentant. Puis nous formulerons les conditions imposées par les deux autres paragraphes.


Premier paragraphe de l’énoncé

Dans 10 ans, Jean sera deux fois aussi vieux que Anne ne l'était quand Paul avait 9 fois l'âge de Jean.

(1)  Jean + 10 = 2 (Anne - r)
(2)  Paul - r = 9 (Jean - r)

« Anne ne l’était » : il faut donc soustraire à l’âge d’Anne un certain nombre d’années que nous baptisons r.

Second paragraphe de l’énoncé

Il y a 8 ans, Paul avait la moitié de l'âge que Anne aura quand elle aura un an de plus que l'âge que Jean aura quand Paul sera 5 fois plus vieux que Jean dans 2 ans.

Là, c’est déjà un peu plus compliqué… Voici une solution :

(3) Paul - 8 = 0,5 (Anne + p)
(4) Anne + p = Jean + 1 + q
(5) Paul + q = 5 (Jean + 2)

Troisième paragraphe de l’énoncé

Quand Jean avait 1 an, Paul était de 3 ans plus vieux que Jean ne le sera quand Anne sera 3 fois aussi vieille que Paul l'était 6 ans avant l'année où Anne a eu la moitié de l'âge que Jean aura quand Paul aura 10 ans de plus qu'il ne l'était quand Anne avait le tiers de l'âge que Jean aura quand Paul aura 3 fois l'âge qu'il avait quand Anne est née.

Là, pour le coup, il ne faut pas faire lire ce paragraphe par un asthmatique ! En fait, quand un énoncé devient aussi compliqué que cela, il est préférable de partir de la fin du paragraphe…

(6)    Paul + k = 3 (Paul - Anne)
(7)    Anne - l = (1/3) * (Jean + k)
(8)    Paul + m = Paul - l + 10
(9)    Anne - n = 0,5 (Jean + m)
(10)  Anne + o = 3 (Paul - n - 6)
(11)  Paul - (Jean - 1) = Jean + o + 3

Et voilà, il ne vous reste plus qu’à formuler ce problème dans Excel et à le résoudre…

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Enigme sur les âges (a) 23 Jan 2020 11:32 AM (5 years ago)

Une façon ludique d’apprendre à utiliser Excel consiste à utiliser notre logiciel favori pour résoudre des énigmes. Pour ma part, j’adore résoudre des énigmes logiques et/ou mathématiques et j’ai plusieurs fois gagné des prix grâce à cela. Voici donc une énigme qui peut vous intéresser…


Les âges de Jean, Anne et Paul

Dans 10 ans, Jean sera deux fois aussi vieux qu'Anne ne l'était quand Paul avait 9 fois l'âge de Jean.

Il y a 8 ans, Paul avait la moitié de l'âge que Anne aura quand elle aura un an de plus que l'âge que Jean aura quand Paul sera 5 fois plus vieux que Jean dans 2 ans.

Quand Jean avait 1 an, Paul était de 3 ans plus vieux que Jean ne le sera quand Anne sera 3 fois aussi vieille que Paul l'était 6 ans avant l'année où Anne a eu la moitié de l'âge que Jean aura quand Paul aura 10 ans de plus que l'âge qu'il avait quand Anne avait le tiers de l'âge que Jean aura quand Paul aura 3 fois l'âge qu'il avait quand Anne est née.

Quels sont leurs âges aujourd'hui ?

Modélisation du problème

Avant de lire la suite, essayez de voir comment vous pourriez formuler ce problème dans Excel.

Prenons le premier paragraphe. Comment le formuler mathématiquement ? Essayez de trouver la solution avant de poursuivre votre lecture.

Je vais vous aider à présent en vous proposant une solution où chaque variable représente l’âge de la personne concernée :

Jean + 10 = 2 (Anne - r)
Paul - r = 9 (Jean - r)

On crée en effet une variable r qui nous permet de formuler en deux contraintes mathématiques qui formulent les conditions posées par le premier paragraphe.

Il ne vous reste plus qu’à formuler de cette façon l’ensemble des contraintes puis de retranscrire cette formulation dans un tableau Excel. Nous pourrons alors résoudre le problème…

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Du neuf sur Alzheimer 17 Jan 2020 3:49 AM (5 years ago)

Vous vous demandez peut-être pourquoi je vous parle d’Alzheimer dans un blog Excel… La raison de cette incursion dans un autre monde est que – grâce à ce que je parviens à faire avec Excel – je suis depuis 3 ans le data scientist d’Alzohis, une start-up qui a créé un diagnostic Alzheimer par simple prise de sang et dont j’ai mis au point les algorithmes.

Et que nous sommes sur le point de mettre le Noratest sur le marché incessamment...


Pour vous replonger dans la genèse de cette aventure, vous pouvez lire le message de ce blog le 16 mars 2016 : « Alzohis : une nouvelle startup » :
https://monsieur-excel.blogspot.com/2016/03/

Si vous voulez en savoir plus sur le Noratest et sur Alzohis :
https://www.alzohis.com/fr/

Nous venons de passer un accord avec Inovie qui réalise ce test. Vous pourrez voir sur leur site la liste de ses laboratoires concernés :
https://inovie.fr/nos-laboratoires-biologie-medicale-analyses/

Le test peut être prescrit par un généraliste ou un neurologue. Préalablement, un test MMSE (mini-mental state examination) – un test cognitif – doit avoir été passé et son résultat soumis en même temps que les résultats de la prise de sang sur le site d’Alzohis.

Le Noratest coûte 250 € non remboursés par la Sécu. C’est une solution plus rapide et moins chère ou pénible que d’autres solutions telles que la ponction lombaire, l’IRM, ou d’autres techniques encore.

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Statistiques Feuille/Classeur 7 Jan 2020 4:03 AM (5 years ago)

Il y a une commande Excel qui est assez peu connue des utilisateurs, mais qui fournit des résultats intéressants. Vous la trouverez dans l’onglet Révision, dans le premier bloc, baptisé Vérification : c’est la commande Statistiques.


Si vous la connaissez déjà, il est cependant fort probable que vous ne connaissiez pas pour autant son raccourci : [Ctrl]-[Maj]-[g].

Certes, j’aurais pu écrire tout simplement [Ctrl]-[G], mais je suis sûr que plus d’un lecteur aurait alors omis de noter que le « g » devait être en majuscule…

Comment se souvenir de raccourci étrange ? Je vous propose un moyen mnémotechnique : « J’ai engrangé les statistiques » (en-grand-g), un moyen dont vous avez quelques chances de vous souvenir.

Vous obtenez alors des statistiques intéressantes sur la feuille de calcul et sur le classeur :


Ce dialogue possède une particularité intéressante. Supposions que vous ne le fermiez pas puis que vous mettiez devant lui une fenêtre d’un autre logiciel qui masque le dialogue tout en laissant une partie de la feuille Excel visible. Il devient alors impossible d’activer la feuille Excel en cliquant dedans. Une bonne petite blague à faire à un collège de bureau…

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Vœux pour l’année 2020 31 Dec 2019 10:52 PM (5 years ago)

Je tiens à souhaiter à toutes mes lectrices et à tous mes lecteurs une …


Une excellente année 2020 !

L’année 2019 a été une année mouvementée, non seulement en France avec les divers mouvements sociaux, mais aussi à notre échelle…

Cette année, j’ai en effet été renouvelé « Microsoft MVP » pour la dixième année consécutive. Cela, c’est le point positif. Le côté négatif de la chose, c’est que Microsoft a hélas décidé d’agglomérer les titres, ce qui fait que nous ne sommes plus que des « Office MVP » là où nous étions auparavant « Excel MVP ».


Je suis le seul consultant en France  qui soit MVP Excel depuis 10 années consécutives ; il y en a quatre autres en Europe.

La société de conseil que j’ai créée il y a 40 ans, Logma, s’est enrichie en fin d’année avec l’arrivée de Frédéric Le Guen, que je connais déjà depuis de longues années. Logma a maintenant dans son équipe les deux seuls consultants Excel en France qui soient de fait MVP sur Excel.

Pour en savoir plus sur notre équipe : https://www.logma.fr/bienvenue/notre-équipe/

Je suis spécialisé dans la création de modèles Excel, leur audit et amélioration. Si vous voulez améliorer vos modèles Excel de façon drastique, je suis votre homme ! J’ai réalisé plus de 1.000 modèles pour plus de 100 entreprises dans plus de 10 pays.

Frédéric est expert en analyse de données (modélisation, agrégation, visualisation). Il maîtrise parfaitement Power BI (Power Query et Power Pivot) pour créer des tableaux de bord modernes et dynamiques.

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?

Un graphe élastique (d) 20 Dec 2019 1:25 AM (5 years ago)

Prenons le graphe étudié dans le dernier article. La copie d’écran ci-dessous montre ce graphe et l’on peut voir dans la barre de formule que les X sont définis A2:A11 et les Y par B2:B11. En dessous de la copie du graphe, nous voyons comment il convient de modifier la formule du graphe pour le rendre dynamique : il faut remplacer $A$2:$A$11 par Les_X et $B$2:$B$11 par Les_Y, les deux noms élastiques que nous avons définis dans l’article précédent.


Remarque – Il est indispensable de ne pas effacer le nom de la feuille, sinon la modification ne marchera pas !


En bas de la copie d’écran, nous voyons ce que devient la formule du graphe dès que l’on valide la formule précédente. Excel a automatiquement remplacé le nom de la feuille, dans la formule du graphe, par celui du classeur. Pourquoi donc ?

Tout simplement parce que A2:A11 était une adresse dans la feuille de calcul, ce qui explique pourquoi les X étaient représentés par Dynamic!$A$2 :$A$11.

Quand on remplace l’adresse $A$2:$A$11, par Les_X, on change tout ! En effet, un nom est une propriété du classeur et non d’une feuille. Du coup, Excel remplace automatiquement le nom de la feuille par celui du classeur !

Et voilà, vous avez maintenant un graphe totalement élastique, sans avoir besoin de passer par un tableau. Cela fonctionne avec toutes les versions d'Excel !

Add post to Blinklist Add post to Blogmarks Add post to del.icio.us Digg this! Add post to My Web 2.0 Add post to Newsvine Add post to Reddit Add post to Simpy Who's linking to this post?