Monsieur Excel
Pour tout savoir faire sur Excel !

28 juillet 2012

Un bel usage du survol de souris !

Dans l’article précédent, nous avons vu comment déclencher une macro lors du passage de la souris sur une cellule. Une splendide application de cette fonctionnalité est proposée sur le site OptionExplicitVBA :

Date de la publication : 21 juin 2012


Il s’agit d’un tableau périodique des éléments (dû à Mendeleïev) dans lequel, quand le curseur passe sur une cellule – la cellule L9 dans notre copie d’écran – cet élément est décrit dans la boîte placée en E3:H6. En outre, quand on clique dans le nom d’une famille d’éléments, « NonMetals » dans cet exemple, tous les éléments de cette famille sont mis en fond coloré.

Dans la seconde copie d’écran, c’est la cellule S6 sur laquelle on vient de passer le curseur et la famille « Post-Transition Metals » qui avait été sélectionnée auparavant.

En cliquant dans le bouton « Deselect All », en haut à droite, on désactive toutes les sélections de familles.

23 juillet 2012

Une macro sensible à la souris

Nous allons voir aujourd’hui comment réaliser une macro qui se déclenche au simple passage du curseur de la souris sur une cellule. Avec cela, vous pouvez rendre vos modèles hypersensibles !

En B3, nous avons entré la formule suivante :
=si(esterreur(lien_hypertexte(MaSourisEstPassée()));"Roule-moi dessus !";"Roule-moi dessus !")

Pour faire ressembler cela à un lien hypertexte, nous avons mis le texte en bleu et souligné. Mais la macro fonctionne parfaitement même avec un texte noir et non souligné : )


Le lien hypertexte appelle la macro « MaSourisEstPassée » dès que le curseur de la souris passe sur la cellule B3 et cette macro affiche aussitôt son message en C1.

Remarque – Si vous entrez seulement la formule nettement plus directe =lien_hypertexte(MaSourisEstPassée();"Roule-moi dessus !"), la macro fonctionne mais la cellule B3 affiche l'erreur #VALEUR !, ce qui n’est pas esthétique…

Essayez maintenant d’imaginer quelles applications originales on peut créer en utilisant cette fonctionnalité. Si un lecteur a une idée d’une application directe dans un usage courant, je le prie de bien vouloir nous le dire en ajoutant un commentaire à cet article…

19 juillet 2012

Un format conditionnel génial !

Le problème de ce jour est encore un test pour les petits génies d’Excel. Vous avez une liste de noms en colonne A, chaque nom pouvant être répété une ou plusieurs fois.

Votre mission est de construire un format conditionnel qui mette de façon alternative en bleu, puis en jaune, et en alternant encore ensuite, chaque groupe de deux (ou plus) noms identiques, comme nous le voyons en colonne A dans la copie d’écran ci-dessous.

Si vous êtes un petit génie d’Excel, vous parviendrez à construire ce format conditionnel en faisant appel à un calcul intermédiaire effectué dans une autre colonne !

Si vous êtes un grand génie d’Excel, vous n’aurez pas besoin d’utiliser une colonne de calculs intermédiaires.

Vous pouvez voir la solution que je vous propose, dans laquelle je me suis inspiré des suggestions de mon collègue Roberto Mensa, dans la copie d’écran ci-dessous.

Pour la première condition, celle qui donne un fond bleu, la première partie est évidente : (NB.SI($A:$A;$A2)>1) vérifie que le nom est au moins doublé.

La seconde partie vérifie que le nom est différent du nom précédent et qu’il est aussi égal au nom suivant, et – surtout – que cela fait un nombre impair de fois que cela arrive ! Voilà cette partie : EST.IMPAIR(SOMME(($A$1:$A1<>$A$2:$A2)*($A$2:$A2=$A$3:$A3)))

Remarque 1 – Ce qui est impressionnant, c’est que cette partie de la formule utilisée pour la première condition est en fait une formule matricielle.

Si l’on avait utilisé cette formule dans une cellule normale, il aurait fallu la valider par [Ctrl]-[Maj]-[Entrée] pour qu’elle fonctionne. En fait, dans un format conditionnel, une formule matricielle peut fonctionner, mais elle doit être saisie comme une formule simple, donc seulement validée avec [Entrée] !

La seconde condition est nettement plus simple : =NB.SI($A:$A;$A2)-1 vérifie tout simplement qu’il y a au moins un doublon et – puisque la première condition ne s’est pas appliquée, sinon on n’arriverait pas à la seconde – que cela fait un nombre pair de fois que cela arrive !

Remarque 2 – On pouvait aussi utiliser =NB.SI($A:$A;$A2)>1 pour le même résultat… En fait, n’importe quelle valeur positive correspond à VRAI pour une condition.

15 juillet 2012

Faire parler Excel grâce au VBA

Dans le deux articles précédents, nous avons successivement vu comment utiliser la commande « Cellules vocales », puis comment faire parler Excel en français.

En fait, il n’est pas nécessaire de passer par cette commande pour faire parler Excel : une macro peut très bien y parvenir toute seule. Il suffit pour cela d’utiliser la commande « Application.Speech.Speak (…) ». 

Le texte en argument de cette fonction est aussitôt lu avec la voix active pour Windows.

La macro ci-dessous lit le contenu de la cellule et, s’il y en a un, celui du commentaire associé à la cellule.


Remarque 1 – Il est aisé de modifier cette macro pour qu’elle lise le contenu de toutes les cellules d’une sélection plutôt que seulement celui de la cellule active.

Remarque 2 – Si vous voulez surprendre un collègue, associez un raccourci à cette macro et, après avoir activé une cellule contenant un long texte, lancez discrètement la macro avec son raccourci…

11 juillet 2012

Les Français parlent aux Français

Nous avons vu dans le dernier article comment faire parler Excel en anglais. Il est heureusement possible aussi de le faire parler en français, mais ce n’est ni immédiat ni particulièrement simple.

J'ai fait dans le titre allusion à la célèbre émission produite à Londres de 1940 à 1994 mais, comme nous allons le voir dans l'article, ce sont plutôt les Canadiens qui, dans Excel, parlent aux Français...

Cela requiert trois étapes :
Les deux premières étapes ne posent aucun problème. Dans le second cas, vous avez la possibilité de charger des voix françaises ou allemandes.

Installation avec Windows XP

Avec Excel XP, pour la troisième étape, j’ai activé le « Panneau de configuration », lancé le programme « Voix », et j’ai découvert le menu déroulant – cf. copie d’écran ci-dessous – dans lequel j’ai eu le chouix entre trois voix : le Microsoft Sam original, LH Pierre et LH Véronique.

Il suffit alors de sélectionner la voix voulue, de la tester avec le bouton « Tester la voix », et de valider enfin votre choix par « OK ».

Les deux nouvelles voix parlent effectivement français, avec cependant un zeste d’accent canadien. Ce n’est pas du Robert Charlebois, mais ce n’est pas l’accent de Paname non plus…

Installation avec Windows 7

Avec Windows 7, on ne trouve hélas plus le programme « Voix » dans le « Panneau de configuration ». Après de longues recherches, j’ai fini par découvrir que, pour retrouver l’écran ci-dessus, il fallait passer par le programme « Reconnaissance vocale » puis par la commande « Synthèse vocale ». Mon cher Microsoft, il n’est absolument pas logique de devoir passer par le programme « Reconnaissance vocale » pour trouver la commande « Synthèse vocale » ! Ce qui m’a sauvé, c’est le titre du dialogue dans la copie d’écran de l’article précédent…

Je déroule alors avec impatience la sélection de la voix pour découvrir avec désespoir qu’il n’y a aucune autre voix que Microsoft Anna !

En fait, avec Windows 7, il faut passer par C:\Windows\sysWOW64\speech\SpeechUX\SAPI.cpl pour retrouver l'écran de sélection de voix qui reconnaît les deux nouvelles voix.

07 juillet 2012

Faites parler votre Excel !

Nous avons vu, dans le dernier article, que la personnalisation de la QAT d’Excel donnait accès en direct à plus de 1.000 commandes.

Il y a là une véritable mine d’or à explorer, et je vous conseille – quand vous en aurez le temps – de la consulter, commande par commande, pour voir s’il n’y a pas là des pépites qui vous seront précieuses.

Une commande très peu connue d’Excel – dans cette liste –  est la commande « Cellules vocales ». Vous pouvez la trouver dans la liste des commandes et l’intégrer à votre QAT (Quick Access Toolbar) en suivant les instructions fournies dans l’article précédent.

C’est la commande qui est sélectionnée dans la copie d’écran ci-dessous, à la fin de la QAT. Elle représente une bulle (de type BD) avec une pointe de flèche verte pointant vers la droite.

Quand on clique dans ce bouton, Excel lit à voix haute le contenu de la cellule active et celui de toutes les cellules voisines, toutes celles que l’on peut atteindre avec le précieux raccourci [Ctrl]-*.

Si plusieurs cellules – éventuellement non contiguës – sont sélectionnées, ce sont ces cellules dont les contenus seront lus par Excel.

Avec une installation standard de Windows et d’Excel, vous n’avez accès qu’à une voix. Sur mon XP, c’est celle de « Microsoft Sam », l’oncle Sam en personne. Sur mon Windows 7, elle a été remplacée par celle de Microsoft Anna

Dans les deux cas, la voix est en anglais. Ainsi, quand la cellule contient « Il est déchiré », le résultat obtenu s’apparente phonétiquement à « Aïe-elle aïe-esse-ti dichaïr ».

Pour obtenir un résultat plus proche de l’objectif en français, il faudrait entrer dans la cellule « Eel ay daycheeray ». Un peu tordu, n’est-ce pas ?

Heureusement, et nous le verrons dans le prochain article, il y a un moyen pour faire parler Excel en français !

03 juillet 2012

Personnalisation de la QAT

Le titre de cet article est certes un peu sauvage, mais il présente l’avantage de tenir en une seule ligne dans la liste des articles récents à droite de ce blog. Notez que j’utilise bien le terme français « personnalisation » à la place de l’angliscisme francisé « customisation » ou original « customization » auquel trop d’auteurs ont recours....

La QAT, ou Quick Access Toolbar, est la barre d’outils qui est née avec Excel 2007 et qui se loge par défaut au-dessus des rubans introduits avec cette version d’Excel. On devrait en français parler de la « BAR » - pour Barre d’Accès Rapide – mais, comme cela ne fait pas sérieux (on irait au BAR fumer du QAT...), l’acronyme US reste la référence en France…

Avant d’aller plus loin, si vous ne connaissez pas bien la QAT, je vous suggère de lire attentivement les articles « La barre d’accès rapide d’Excel 2007 » du 29 juillet 2008 et « Restauration de la barre d’accès rapide » du 2 août 2008.

Il est très facile de personnaliser la QAT. Pour cela, la méthode la plus directe consiste à activer le dernier bouton de la QAT, appelé « Personnaliser la barre d’outils Accès rapide », puis la commande « Autres commandes ». Vous obtenez alors un écran que l’on peut aussi atteindre, de façon plus indirecte, avec les commandes « Options Excel » puis « Personnaliser ».

On constate dans la colonne de gauche que l’on a accès à 31 commandes Excel. Si l’on déroule le menu de cette colonne gauche, on voit que l’on peut aisément dérouler les commandes liées à tel ou tel onglet. Sélectionnons la troisième option, « Toutes les commandes » et l’on voit alors que l’on a accès à toutes les commandes d’Excel, soit plus de 1.000 commandes !!!

Il est ensuite aisé de sélectionner n’importe laquelle de ces commandes et de la passer dans la QAT (fenêtre à droite) via le bouton « Ajouter >> ».

Pour réordonner les boutons, il suffit de sélectionner dans la fenêtre de droite le bouton à déplacer, puis d’utiliser les deux flèches à droite de la fenêtre.

Vous pouvez voir, dans la fenêtre de droite, comment j’ai personnalisé ma QAT. Notez que j’ai entre autres ajouté le bouton « Table de données », qui est ainsi bien plus accessible que via le ruban « Données », puis « Analyse de scénarios » puis « Table de données », ainsi que le bouton « Photo ».

Pour en savoir plus sur l’appareil photo d’Excel, lisez donc « Comment obtenir un cliché rapide de l’écran… » du 23 novembre 2005.

Remarque – La principale critique que je puisse faire à Excel concernant la QAT est qu’il n’existe pas d’option permettant de voir ses outils à une plus grande échelle, par exemple augmentée de 50% ou 100%. Quand on a comme moi de petits yeux fatigués, ces outils sont un peu trop petits…