Monsieur Excel
Pour tout savoir faire sur Excel !

17 mars 2019

Sélection d’une l’image à afficher (c)

Nous avons eu trois commentaires sur cette série d’articles.

Le premier est dû à Philippe qui nous dit : « Bonjour, il y a moyen d'éviter la macro en passant par une image définie par une plage nommée alimentée par un décaler : https://www.cjoint.com/c/IClu5CcLYTd

Sur cet article, vous trouvez un bouton pour télécharger le fichier IClu5CcLYTd_rech-image.xlsx dans lequel vous pouvez voir la solution mise en œuvre.

Cela fonctionne très bien, avec un inconvénient : vous devez avoir les différentes images visibles dans le classeur et vous ne voyez pas, comme dans ma solution, uniquement l’image demandée.

Une solution du même type est proposée par Arnaud Cottin, avec le même inconvénient mais aussi, à titre de compensation, le fait qu’il n’est plus nécessaire de passer par le VBA.

Enfin, il y a une proposition d’un habitué de notre blog, cduigou, qui passe aussi par le VBA mais en allégeant la solution que je proposais. Voici ce qu’il suggère :

Une autre solution consiste à nommer les images (Zone des noms) dans la feuille de calcul en utilisant les libellés exacts présents dans la liste de choix de la cellule C1. On se passe ainsi de l'index, des fonctions EQUIV, DECALER, etc... pour ne garder que les noms. Le choix dans la collection Pictures se fait ainsi par le nom au lieu de l'index.

La procédure événementielle devient :

Private Sub Worksheet_Change(ByVal Target As Range)
   If Target.Address = "$C$1" Then
      Me.Pictures.Visible = False
      Me.Pictures(ActiveCell.Value).Visible = True
   End If
End Sub

11 mars 2019

Sélection d’une image à afficher (b)

Certes, si vous avez essayé de résoudre le problème que nous vous avons posé dans le dernier article sans passer par le VBA, il est normal que vous n’ayez pas trouvé de solution !

Dans la cellule E1, nous avons entré la formule suivante, qui calcule le numéro de l’image sélectionnée via le menu déroulant en C1 : =equiv(C1;F:F;0).

Remarque 1 – Comme nous avons pris toute la colonne F en argument, nous ne serons pas limités dans le nombre d’images utilisables.

Remarque 2 – Attention ! Le numéro de l’image ne correspond pas à celui affiché dans la zone « Nom » de la barre d’édition, mais à l’ordre d’apparition parmi les images actuelles de la feuille de calcul.

La solution à notre problème revient donc à créer une macro événementielle, liée à l’onglet « Image », celui qui nous intéresse, et qui se déclenche chaque fois que la valeur de la cellule C1 (le menu déroulant) est modifiée.

Il y a dans la liste du menu déroulant en haut à droite du VBA 17 événements auxquels on peut associer une macro, l’option Change que nous utilisons ici n’étant qu’une des possibilités pour la feuille de calcul active (Worksheet).


01 mars 2019

Sélection d’une image à afficher (a)

Nous reprenons aujourd’hui le principe d’un article publié dans ce blog il y a plus de 12 ans.

De façon surprenante, malgré les années qui sont passées depuis, je pense qu'il n’y a probablement pas un utilisateur d’Excel sur 50 qui saurait faire cela tout seul…

Le but est d’afficher dans un tableau Excel l’image correspondant à ce qui a été sélectionné dans une liste déroulante. 

Comme nous le voyons dans la copie d’écran ci-dessous, vous obtenez l’image de la grenouille quand vous la sélectionnez dans la liste déroulante de la cellule C1 et celle du cheval quand vous prenez la troisième option de la liste.

Voyez l’intérêt de cette fonctionnalité. Vous pouvez ainsi afficher à volonté la photo d’une personne dans une liste de connaissances, ou parmi les salariés de votre département ou même de toute votre entreprise.

Saurez-vous faire cela avant la parution de mon prochain article ?




22 février 2019

Un raccourci de collage « spécial »

Mon collègue MVP Jon Acampora vient de faire récemment le rappel d’un raccourci peu connu, et en fait d’autant moins connu si – comme moi – vous avez l’habitude d’aller très vite avec Excel.

Vous sélectionnez – cf. la copie d’écran ci-dessous – la zone E4:F13, vous vous placez sur l’un quelconque des quatre bords du bloc, de façon à voir apparaître le curseur en forme de croix à 4 flèches, vous déplacez la sélection avec le bouton droit de la souris enfoncé puis vous lâchez le bouton droit.

Apparaît alors le menu contextuel que vous voyez sur la copie d’écran, qui vous donne accès à 11 commandes.

Il y a ainsi plein de ressources plus ou moins cachées dans Excel…



16 février 2019

Découvrez le « drill down »

Littéralement, le drill down veut dire « forage ». Quand on fore, c’est souvent dans l’espoir de trouver du minerai, une valeur en quelque sorte cachée… Récemment, j’étais en train de travailler comme consultant auprès de clients pour lesquels j’améliorais leurs modèles Excel.

J’ai alors réalisé qu’il existait une fonctionnalité d’Excel, relative aux tableaux croisés dynamiques, avec lesquels ils n’étaient pas familiers. Comme ce n’était pas la première fois que je constatais qu’un de mes clients ignorait cette fonctionnalité, je me suis dit qu’il était peut-être utile de vous la montrer.

Vous voyez ci-dessous le TCD dans lequel nous répertorions les ventes de 8 articles dans 5 régions :


Quand on effectue un double clic sur la cellule F7, les ventes de Clothing (Vêtements) dans la région Ouest – pour un total de 224 unités – cela crée automatiquement un nouvel onglet avec une extraction de la base listant les 13 ventes correspondantes, ce que nous pouvons voir dans la copie d’écran en bas de cet article. 

De même, si l’on avait effectué un double clic sur la cellule G7, le total du Clothing, le nouvel onglet aurait listé les 39 ventes associées.

C’est donc cela que l’on appelle du « drill down » !



09 février 2019

Gagnez de la place en largeur

Lors du développement de modèles Excel, on est souvent confronté au problème suivant : si les titres des colonnes sont explicites, ils sont en général un peu trop longs et cela réduit le nombre de colonnes que l’on peut voir à l’écran.

Une solution dans ce cas est d’utiliser des titres inclinés, comme vous pouvez le voir dans la copie d’écran ci-dessous.


Commençons par sélectionner le bloc B1:F1. La commande Format de cellule peut être atteinte via le bouton en bas et à droite du bloc Alignement de l’onglet Accueil, ou – plus directement encore – via un clic droit sur les cellules sélectionnées. Il suffit ensuite de mettre l’orientation à 65°, comme sur la copie d’écran, puis de valider.

Avec cette technique de réorientation des titres, on peut réduire la largeur des cellules et, par conséquent, augmenter le nombre des colonnes visibles à l’écran !

03 février 2019

Raccourcis : Annuler et Rétablir

Deux des raccourcis d’Excel que j’utilise le plus fréquemment sont les raccourcis Annuler ([Ctrl]-z) et Rétablir ([Ctrl]-y).

Cela tient au fait qu’une partie non négligeable de mon activité est l’activité de formation, soit dans des entreprises, soit au MBA d’HEC où mon électif « Advanced Excel Modelling » est, depuis plusieurs années, l’électif dont l’effectif est le plus vite rempli (en moyenne en moins de 24 H). Cet électif n’est ouvert qu’aux étudiants sachant déjà utiliser Excel…

L’autre partie, plus importante encore – de mon activité est le conseil sur Excel : création de modèles, audit et amélioration de modèles, résolution de problèmes (bugs, plantages, réduction de temps de calcul, réduction de taille de modèle,…).

Lors des formations en entreprise ou à HEC, j’utilise les raccourcis « Annuler » et « Rétablir » pour montrer aux participants ce qui arrive quand on réalise une opération d’une certaine façon. Ensuite, j’annule ce que j’ai fait pour montrer une autre façon de procéder. Et ainsi de suite…

Ce que la plupart d’entre vous n’ont jamais utilisé, ce sont les deux commandes voisines dans la barre d’outils, celles que j’ai entourées d’un cercle rouge dans la copie d’écran ci-dessous. Ces deux commandes très discrètes listent toutes les opérations effectuées.

On peut alors annuler autant d’opérations que l’on veut, en partant du haut de la liste.