Monsieur Excel
Pour tout savoir faire sur Excel !

30 septembre 2006

Personnalisez le classeur vierge !

Il est fréquent que l’on souhaite – chaque fois que l’on ouvre un nouveau classeur dans Excel – disposer dans ce classeur de certains formats, d’une police et d’une taille par défaut qui ne soient pas celles d’Excel, même si vous le voulez d’une ou de plusieurs macros,...

La solution est simple, il suffit de modifier le classeur par défaut dont le nom est Classeur.XLT, le suffixe « XLT » signifiant « Template », l’équivalent en anglais de « Modèle ». Un modèle, en Excel ou en Word, est un document vierge que l’on a déjà personnalisé. J’ai par exemple en Word un modèle dont les quatre marges sont à 1 cm. afin de pouvoir y coller des images avec le moins de réduction possible.

Pour trouver l’endroit où se cache ce classeur – emplacement qui, pour tout simplifier, varie selon la version de Windows utilisée –, utilisez la commande de recherche de fichiers de Windows. Voici ce que cela a donné sur mon PC :

Le bon classeur est évidemment celui qui n’est pas un raccourci :)

Pour personnaliser ce classeur de démarrage, il vous suffit donc de créer un classeur Excel qui possède toutes les caractéristiques souhaitées (police et taille par défaut, formats personnalisés, logo de l’entreprise,...) puis de l’enregistrer en sélectionnant le type de fichier « Modèle » (cf. ci-dessous) à l’endroit approprié.

Remarque – N’oubliez pas d’ôter le numéro qui se trouve par défaut juste après « Classeur », sinon vous aurez deux classeurs de démarrage !

26 septembre 2006

Sélection de l’image à afficher

Ce que nous venons de faire il y a quatre jours pour afficher le graphe de notre choix peut s’adapter aisément à l’affichage d’une image de notre choix.

Nous avons cette fois-ce utilisé la commande « Validation » du menu Données, option « Liste », pour limiter le choix dans la cellule C1 :

En E1, nous avons entré la formule =equiv(C1;F:F;0).

La macro ci-dessous, toujours à placer dans le code de la feuille de calcul concernée, permet d’afficher l’image sélectionnée lors du déroulement de la cellule C1 :

Voici ce que l’on obtient en déroulant C1 et en prenant l’option « Oiseau » :

Remarque 1 – Attention, le numéro de l’image ne correspond pas à celui affiché dans la zone « Nom » de la barre d’édition, mais à l’ordre de création parmi les images actuelles de la feuille de calcul. Ainsi, notre oiseau porte le nom « Image 12 » mais il son image est la quatrième parmi les images non détruites dans cette feuille. Cette remarque s'applique aussi aux graphes présentés il y a quatre jours !

Remarque 2 – Vous n’avez plus qu’à superposer toutes les photos de votre personnel au même endroit : dès que vous aurez sélectionné une personne, sa photo apparaîtra à l’écran !

Remarque 3 – Bien entendu, les abonnés au blog recevront – comme pour chacun de mes messages – les fichiers Excel comportant des exemples de mise en œuvre de cette astuce.

22 septembre 2006

Sélection du graphe à afficher

Parfois, vous disposez de nombreux graphes dans une feuille de calcul et, à un moment donné, vous n’avez besoin d’afficher qu’un seul parmi tous ces graphes.

Une solution consiste à créer un seul et unique graphe qui, par un jeu de noms dynamiques et éventuellement de macros en VBA, affichera ce que vous voulez, et ce de la façon dont vous désirez le représenter.

Une autre solution, bien plus légère, consiste à créer les différents graphes et à les placer tous au même endroit, avec la même taille. Voici par exemple un tel graphe, avec ses données dans les lignes 3 à 7 :

La macro ci-dessous – à placer impérativement dans le code de la feuille concernée – permet, dès que l’on a modifié le numéro du graphe sélectionné en B1, d’afficher le graphe dont le numéro a été choisi :

Et voici le résultat :

Remarque 1 – Nous aurions pu mettre en B1 une validation de cellule donnant le choix – en toutes lettres – entre divers graphes, la cellule C1 servant alors (à l’aide d’un Equiv) à trouver le numéro du graphe associé et à alimenter la variable v du code VBA.

Remarque 2 – Plutôt que de masquer tous les graphes puis de rendre visible le seul graphe sélectionné, nous aurions pu aussi simplement mettre celui-ci au premier plan. Cette solution suppose cependant – pour l’esthétique – que tous les graphes aient exactement la même taille et la même position.

18 septembre 2006

Caler l’écran sur l'objectif d’un lien

Dans certains cas, on souhaite non seulement qu’un lien hypertexte mène à une cellule précise d’une feuille donnée – et même éventuellement d’un classeur donné – mais on aimerait aussi que la cellule objectif se place dans le coin supérieur gauche de la fenêtre.

Ainsi, avec le lien que nous avons créé il y a quatre jours, quand le curseur se trouve sur la cellule A1, nous voyons ceci :

Nous souhaitons donc que, dès que l’on clique sur ce lien, non seulement nous allions en C5 mais aussi que cette cellule se place en haut et à gauche de la fenêtre. Pour cela, il suffit de placer en macro de classeur – dans ThisWorkbook donc– la macro suivante :

Remarque – Maintenant que vous avez bien compris comment cette macro fonctionne, vous pouvez écrire une autre macro – qui, elle, pourra aller se loger dans un module ou dans votre classeur de macros personnelles – dont l’objet sera de positionner la cellule active dans le coin supérieur gauche de la fenêtre active !

14 septembre 2006

Création d’un lien hypertexte

Un lien hypertexte peut être attaché dans Excel à une cellule, à un graphe, à un objet quelconque (dessin, image, photo,...).

Supposons que nous souhaitions créer en A1 de notre feuille un lien vers la cellule C5 de la même feuille. Pour cela, ayant sélectionné A1, nous appelons le menu Insertion, commande « Lien hypertexte ». Nous obtenons l’écran ci-dessous :

Nous voyons que nous pouvons créer un lien vers la cellule de notre choix des deux feuilles actuelles (« Modèle » et « Param ») ou vers un nom quelconque du classeur. Saisissons donc les informations comme ci-dessous, cliquons sur « Modèle », validons par OK, et le lien hypertexte est créé !

En fait, un lien peut être aussi créé, en cliquant dans « Fichier ou page Web existant(e) », avec n’importe quel document relatif à n’importe quelle application (cf. image suivante). Si ainsi vous créez un lien vers un document Word, Excel ouvrira si nécessaire Word avant d’ouvrir le document qui a été référencé de cette façon.

10 septembre 2006

Contrôlez sélection et défilement

Supposez que vous vouliez interdire à l’utilisateur de cliquer en dehors d’une certaine zone, par exemple B3:H5 dans la feuille reproduite ci-dessous.

Pire encore, vous ne voulez même pas qu’il puisse faire défiler l'écran et aller observer ce qui se trouve ailleurs dans la feuille !

La solution est d’une simplicité biblique : il faut écrire une macro d’une ligne, à placer dans le code de la feuille concernée :

Remarque – Cette macro ne s’active qu’à l’ouverture de la feuille. Si vous venez de la définir, pour l’activer, il vous faut donc d’abord cliquer dans une autre feuille puis revenir à la feuille concernée.

07 septembre 2006

Un bel exemple d'animation...

Dewa Gede Parta, le héros de notre dernier message, a mis au point un très joli classeur Excel dans lequel chaque page comporte des animations, grâce à des macros, de dessins réalisés comme celui de notre dernier message.

Ainsi quand on clique dans le motif présenté ci-dessous, où une série de dessins est regroupée au centre, une animation se met en place, dans laquelle chaque objet se déplace selon sa propre trajectoire.

Et l’on obtient ainsi une animation continue très plaisante à regarder, un peu comme ce qui produisent certains économiseurs d’écran, et dont voici une image :

Nous nous ferons un plaisir d’envoyer ce classeur à tous les abonnés au blog.

Il faut bien que les abonnés aient droit à quelques gadgets en plus, outre le fait de bénéficier d’un document Acrobat regroupant tous les messages (avec une table des matières) et de fichiers Excel illustrant la mise en œuvre de mes conseils...

Une cerise sur le gâteau : le code VBA de ce classeur est accessible. Vous pourrez donc l'analyser en détail !

02 septembre 2006

Création rapide d’une étoile

En me promenant sur le Net, j’ai trouvé une sympathique formule pour la création rapide d’une étoile, formule créée par Dewa Gede Parta, qui est professeur en Indonésie.

Il suffit de sélectionner le bloc A1:B6 puis d’y entrer la formule matricielle reproduite en D1 dans le cliché ci-dessus. Bien entendu, la formule matricielle est validée avec [Ctrl]-[Maj]-[Entrée], comme d’habitude.

On demande ensuite un graphe X/Y avec les lignes et sans marquage des points, ce qui donne le résultat ci-dessous :

Il ne reste plus qu’à ôter les scories pour obtenir l’étoile toute propre de la première image...