Monsieur Excel
Pour tout savoir faire sur Excel !

29 janvier 2008

Restauration du menu contextuel

Nous avons appris dans le dernier message comment modifier un menu contextuel. Tous les menus contextuels d’Excel peuvent être ainsi personnalisés.

La question qui se pose alors parfois est celle de la restauration de ces menus. Comment rétablir un menu contextuel ? Voici la solution :

Sub Restaure_menu_contextuel()
CommandBars("Cell").Reset
End Sub

Je n’ai pas trouvé la liste des noms des menus contextuels mais j’ai vérifié que ceux qui correspondent à la sélection de ligne(s) ou de colonne(s) s’appellent logiquement « Row » and « Column ».

Si vous exécutez la macro ci-dessous, la commande « Jaune » s’ajoute en bas du menu contextuel de la sélection de ligne(s). Quand vous activez cette commande, toutes les cellules de la sélection reçoivent un fond jaune.

25 janvier 2008

Modification de menu contextuel

Excel peut être personnalisé de multiples façons. Nous avons ainsi déjà montré comment l’on pouvait personnaliser les barres d’outils. Il est possible aussi bien évidemment de modifier les menus d’Excel.

Ce qui est moins connu, c’est la possibilité de modifier les menus contextuels. Ainsi, après avoir modifié le menu contextuel « Cellule », soit « Cell » en anglais, un clic droit sur la sélection de notre exemple précédent donne le résultat suivant :

Il ne reste plus qu’à sélectionner la nouvelle commande en bas de ce menu contextuel pour afficher le dialogue montrant la valeur en francs du bloc sélectionné.

La macro qu’il faut mettre dans le classeur de macros personnelles pour effectuer cette personnalisation est la suivante :

21 janvier 2008

Une macro de conversion d’euros

Il m’a plusieurs fois été demandé de développer des macros associées à la conversion d’euros en francs. J’ai même créé il y a quelques années un add-in spécialisé à cet effet.

La petite macro ci-dessous est très pratique pour convertir en francs des montants sélectionnés. Vous sélectionnez pour cela toutes les cellules concernées, quitte à effectuer des sélections multiples à l’aide de la touche [Ctrl]. Pour afficher l’équivalent en francs, il suffit d’exécuter la macro comme nous l'avons fait ci-dessous :

Nous voyons ci-dessus le résultat de l’exécution de la macro qui nous informe que les 2.300 euros sélectionnés valent au total 21.646,58 F.

Sub Conv_francs()
Dim Cell As Range
Dim Total As Double
For Each Cell In Selection
Total = Total + Cell.Value
Next Cell
MsgBox "Conversion : " & Application.Text(6.55957 *
Total, "# ##0.00"" ""F")
End Sub


Remarque 1 – La fonction texte() a été utilisée pour bien formater la valeur indiquée…

Remarque 2 – Il ne vous reste plus, à condition de l’avoir sauvegardée dans votre classeur de macros personnelles, qu’à associer cette macro à un bouton de la barre d’outils, ou à un raccourci, pour la rendre toujours disponible…

17 janvier 2008

Les précieux menus contextuels

Une aide précieuse est apportée à tout instant par les menus contextuels d’Excel. Un menu contextuel s’active quand – à un moment donné – vous faites un clic droit sur un objet. Cet objet peut être une cellule d’Excel, une ligne, une colonne, un graphique, une image incluse dans une feuille,…

L’écran ci-dessus montre trois menus contextuels correspondant à un clic droit sur une cellule, une ligne et un graphique.

Ainsi, pour insérer une ligne, il est plus rapide de faire un clic droit sur son nom puis de sélectionner la commande « Insertion » que de sélectionner la ligne et ensuite passer par la commande Insertion – Lignes.

Pour ma part, j’effectue la majorité des mes opérations de personnalisation d’un graphique via le menu contextuel des graphiques. Mais, dans un graphique, il y a aussi des menus contextuels pour chaque objet du graphique : légende, zone de traçage, axe des X, axe des Y, série,…

Remarque – On notera la commande « Affecter une macro » du menu contextuel des graphiques. On pourrait par exemple associer une macro qui, quand on effectue un clic dans le graphique, permute l’affichage entre les valeurs individuelles et les valeurs cumulées, ou entre des représentations en histogramme et en courbe…

13 janvier 2008

Déplacer sans lien hypertexte

Nous avons déjà traité du sujet des liens hypertexte dans les rubriques des 14 et 18 septembre 2006, et des 24 et 28 novembre 2006. Si ce thème vous intéresse, vous trouverez dans ces articles des informations utiles.

Parfois, on souhaite pouvoir facilement se déplacer d’une feuille à une autre, sans pour autant passer par des liens hypertexte.

La solution que nous proposons à cet effet consiste à créer une macro événementielle « BeforeDoubleClick », liée à la feuille de calcul :

Cette macro active la feuille sur le nom de laquelle on a effectué un double clic, à condition que ce nom se trouve dans la première colonne et dans les lignes de 2 à 5…

Un double clic sur « Calcul », en A3, active ainsi la feuille « Calcul »…

Remarque 1 – La commande Cancel=True sert à annuler tout autre effet du double clic : dans ce cas précis, l’activation naturelle de l’éditeur quand on fait un double clic sur une cellule est par conséquent inhibée.

Remarque 2 – On pourrait, en modifiant légèrement cette macro, activer par un double clic le déplacement vers une zone nommée qui pourrait se trouver sur la même feuille ou sur une autre feuille.

09 janvier 2008

Formations du mois de mars

Vous trouverez ci-dessous la liste des formations que je propose durant le mois de mars. Chacune de ces formations est limitée à huit participants, avec un ordinateur par personne. Vous trouverez la description complète de ces formations en cliquant sur leurs intitulés.

La modélisation du risque : le mercredi 5 mars 2008.

Utilisation de Crystal Ball Pro : le mercredi 12 mars 2008.

Modélisation avec Excel (2 jours) : jeudi 6 et 13 mars 2008.

Powerpoint et Word efficaces : lundi 17 mars 2008.

Formations en intra

Chacune de ces formations, ainsi qu’une formation en deux jours au Visual Basic (cf. brochure) peut être animée en intra, c’est-à-dire dans votre entreprise et peut donc aussi être personnalisée. Ainsi, on peut utiliser comme exemple les modèles de l’entreprise, présents ou à venir.

Notez en particulier que, dans la formation « Modélisation avec Excel », qui connaît un taux de satisfaction proche de 100%, je garantis de transformer en deux journées un utilisateur « lambda » d’Excel en un utilisateur appartenant au top 10%.

Voici quelques références de sociétés auprès desquelles j’ai animé ces formations en intra : Aéroports de Paris, Aérospatiale, Arianespace, Bouygues, Caisse des dépôts, CASE-Poclain, CCIP, Cegelec, CNES, CNET, EADS, EdF, Elf, Ernst & Young, Euroconsult, Finacor, France Telecom, Gaz de France, GIAT, IFP, Isochem, Lafarge, Lilly France, Marsh, Sanofi, SIRIS, Texas Instruments, Tir Groupé, Total, Wabco, Walt Disney.

05 janvier 2008

Recodage depuis une chaîne

Mes meilleurs voeux !

Tout d'abord, j'adresse à mes lectrices et à mes lecteurs mes meilleurs vœux pour cette nouvelle année, avec plein de bonheur, y compris dans vos modèles Excel...

Décodage d'une chaîne de caractères

Un lecteur m’a dit qu’il avait reçu des chaînes de caractères représentant bout à bout des séries de points avec des coordonnées (x;y). Voici à titre d’exemple l’une de ces chaînes :

4 0 4 3 2 5 0 5 0.7 5.5 0 6 1 6 2 7 2 8 2 7 3 7 3 8 3 7 4 5 11 5 11.9 6 11 5 11 0 10 3 9 0 9 3 6 3 6 0 5 2 4 0

Le premier point est donc le point (4;0), le second le point (4;3), puis le point (2;5)… et ainsi de suite.

La question qui m’était posée était de savoir s’il était compliqué de réaliser une macro qui exploite la chaîne de caractères et affiche les coordonnées (x;y) dans les colonnes B et C de la feuille, afin que l’on puisse par exemple représenter graphiquement la séquence de points.

Voici la macro qui effectue ce travail, en supposant que la chaîne de caractères se trouve en A1 dans la feuille :

Une petite macro pour démarrer l'année, cela ne fait pas de mal...