Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :La puissance des macros dans Excel
A de précédentes reprises, à l'occasion de la
conception d'applications avec Excel, nous avons démontré l'intérêt et la puissance des macros. Nous les avons exploitées notamment pour
automatiser certaines actions d'extractions sur des bases de données. Ici, l'objectif est de personnaliser l'environnement de travail à l'aide d'un ruban entièrement rempli de
boutons de macros. Ces dernières doivent remplacer des actions fastidieuses mais fréquentes, ou encore des enchaînements de tâches complexes. Dès lors, un clic suffira pour atteindre le résultat qui jusqu'alors coutait plus de temps ou nécessitait plus de réflexion.
La capture ci-dessus illustre le résultat final à atteindre. L'interface Excel est dotée d'un nouveau ruban, composé de nombreux boutons personnalisés, regroupés par sections.
Source et présentation de l'objectif
Nous souhaitons donc automatiser les actions pour :
- Des opérations de mises en forme, notamment conditionnelles,
- Des formats numériques personnalisés comme le m3,
- Permettre de modifier la casse des cellules,
- Faciliter les sélections dans les bases de données.
Comme vous le savez, la
création d'une macro consiste à simuler les actions qui devront être reproduites, au clic sur le bouton qui lui sera affecté. Pour simuler ces actions, nous avons besoin de tableaux adaptés. C'est pourquoi nous proposons de récupérer un classeur existant.
L'
extension xlsm de ce classeur confirme la présence de code Visual Basic. En effet, certaines tâches ne peuvent être simulées car
Excel ne propose par les fonctionnalités nécessaires. C'est pourquoi nous avons intégré à ce classeur, les
procédures VBA que nous avions développées pour permettre de modifier la casse des textes. Nous n'aurons plus qu'à les associer à des boutons du ruban pour les exécuter sur demande.
Le classeur réceptionné est composé de quatre feuilles. Nous exploiterons la
feuille CA pour créer et tester nos
macros de mises en forme conditionnelles. La
feuille Unités servira à la production des macros pour les
formats numériques personnalisés. La
feuille Bd permettra de réaliser les simulations de sélections massives mais ordonnées pour les
macros correspondantes. Enfin la
feuille Depart est vierge. Nous l'exploiterons pour tester une
macro permettant de définir des attributs groupés et personnalisés à chaque nouveau travail.
Groupes et ruban personnalisés
Pour personnaliser l'environnement de toutes ces nouvelles fonctionnalités, nous avons besoin de créer un ruban. Ce dernier permettra d'accueillir les
boutons de macros que nos regrouperons dans des sections, selon leur finalité.
- Cliquer avec le bouton droit de la souris n'importe où dans le ruban Accueil,
- Dans le menu contextuel, choisir Personnaliser le ruban,
- En bas à droite de la boîte de dialogue qui suit, cliquer sur le bouton Nouvel onglet,
- Cliquer alors avec le bouton droit de la souris sur la ligne Nouvel onglet, qui apparaît dans la liste de droite,
- Dans le menu contextuel, choisir Renommer,
- Dans la boîte de dialogue qui suit, le nommer Spec et valider,
- Dans la section de l'onglet Spec, sélectionner ensuite la ligne Nouveau groupe,
- Cliquer sur le bouton Renommer, taper le texte Mise en forme et valider,
- Cliquer sur le bouton Nouveau groupe,
- Puis, cliquer sur le bouton Renommer, saisir le texte Unités de mesure et valider,
- Cliquer sur le bouton Nouveau groupe,
- Cliquer sur le bouton Renommer, saisir le texte Changer la Casse et valider,
- Cliquer sur le bouton Nouveau groupe,
- Cliquer sur le bouton Renommer, saisir le texte Sélections rapides et valider,
- De la même façon, créer encore les groupes Déplacements et Nouveau,
- Puis sélectionner la ligne de l'onglet Spec et le placer en queue de liste à l'aide des flèches,
- Valider la création de ce nouveau ruban par Ok,
- De retour sur la fenêtre Excel, cliquer sur l'onglet Spec pour activer ce nouveau ruban,
Bien sûr le ruban est vide pour l'instant. C'est pour cette raison que les zones délimitées par les groupes que nous avons créés n'apparaissent pas encore. Bientôt, ils permettront une présentation ergonomique lorsqu'ils accueilleront les premiers boutons, précisément regroupés par thème.
Automatiser la mise en forme conditionnelle
Pour des tableaux de synthèse professionnels, il est souvent utile de mettre en valeur les résultats pour faciliter l'interprétation des données. Nous proposons de créer une
macro capable de faire ressortir dans des couleurs opposées, la plus grande et la plus petite des valeurs d'une plage de cellules. Cette mise en forme doit bien sûr être
dynamique pour réagir avec les données et s'adapter à toute application. Elle montrera tout son intérêt lorsqu'il s'agira de comparer les chiffres d'affaires des commerciaux d'une entreprise par exemple. Nous en profiterons pour créer une autre macro capable d'effacer les règles du
format dynamique, sans dégrader la mise en forme manuelle.
Aucune sélection de cellules ne doit être effectuée pendant l'enregistrement de ces macros, pour que toutes deux fonctionnent quelle que soit la plage désignée à l'avenir. Le
ruban Développeur est nécessaire pour la création de ces macros. S'il n'est pas présent dans votre environnement, vous pouvez l'activer par clic droit sur le ruban Accueil, afin d'afficher la boîte de dialogue des onglets, comme nous l'avons fait précédemment.
- Cliquer sur l'onglet Développeur en haut de la fenêtre Excel pour activer son ruban,
- Sur la gauche du ruban, cliquer sur le bouton Enregistrer une macro,
- Dans la boîte de dialogue qui suit, la nommer mefMaxMin,
- Dans la liste Enregistrer la macro dans, choisir Classeur de macros personnelles,
Le
classeur de macros personnelles est attaché au
modèle d'Excel. Comme nous sommes en train de personnaliser l'environnement de travail, nous avons besoin que ces
macros soient disponibles tout le temps et pas uniquement pour ce classeur. Ainsi enregistrées, elles continueront de fonctionner quel que soit le classeur Excel.
- Cliquer sur le bouton Ok pour débuter l'enregistrement,
Désormais
Excel intègre chacune de nos actions qu'il transcrit en
code VBA. Il s'agit donc de réaliser l'enchaînement des actions strictement nécessaires. Donc aucune cellule ou aucune plage ne doit être sélectionnée.
- En haut de la fenêtre Excel, cliquer sur l'onglet Accueil pour activer son ruban,
- Dans la section Styles, cliquer sur le bouton Mise en forme conditionnelle,
- Dans la liste, pointer sur la rubrique Règles des valeurs de plage haute/basse,
- Dans le sous menu qui apparaît, choisir 10 valeurs les plus élevées,
- Dans la boîte de dialogue qui suit, remplacer le nombre 10 par le chiffre 1,
- Puis, dans la liste déroulante, choisir Format personnalisé,
- Dans la nouvelle boîte de dialogue, activer l'onglet Remplissage,
- Choisir un vert assez pâle pour le fond de la cellule puis activer l'onglet Police,
- Définir un texte gras de couleur violette et cliquer sur Ok pour valider,
Nous sommes de retour sur la première boîte de dialogue. Les réglages à ce stade consistent donc à faire ressortir la plus grande des valeurs en gras violet et sur fond vert.
Excel est en train d'enregistrer ces actions pour pouvoir les répliquer à l'avenir sur demande.
Il est temps de configurer l'apparence de la cellule pour la valeur la plus petite détectée, au moment de l'exécution.
- Confirmer les réglages précédents avec le bouton Ok,
- Cliquer de nouveau sur le bouton Mise en forme conditionnelle du ruban Accueil,
- Comme précédemment, pointer sur la rubrique Règles des valeurs de plage haute/basse,
- Choisir 10 valeurs les moins élevées cette fois-ci,
- Remplacer le nombre 10 par le chiffre 1,
- Choisir Format personnalisé à l'aide de la liste déroulante,
- Définir un texte gras rouge foncé dans une cellule sur fond orange clair et valider,
- De retour sur la première boîte de dialogue, cliquer de nouveau sur Ok pour confirmer la règle,
Nous venons de montrer Ã
Excel quels réglages de mise en forme doivent être appliqués, lorsque nous cliquerons sur le bouton, afin de faire ressortir en même temps, le résultat le plus élevé et le plus petit. Nous devons désormais stopper l'enregistrement car la simulation est terminée.
- Cliquer sur l'onglet Développeur en haut de la fenêtre Excel pour activer son ruban,
- Puis, dans la section Code sur la gauche, cliquer sur le bouton Arrêter l'enregistrement,
La
macro existe mais elle n'est pas encore matérialisée. La seconde étape consiste en effet à créer son bouton et à établir la liaison avec la procédure de
code VBA ainsi créée. Mais avant cela, nous proposons de créer la
macro permettant de supprimer les règles de mise en forme conditionnelle sur une plage de cellules. Ainsi nous regroupons les actions pour plus de clarté et de productivité. Avant de commencer, la cellule ou la plage précédemment utilisée pour créer la macro de mise en forme conditionnelle, doit être sélectionnée. En effet, pour simuler l'action qui consiste à effacer les règles de format dynamique, faut-il encore que des règles y aient été créées.
- Dans le ruban Développeur, cliquer sur le bouton Enregistrer une macro,
- Dans la boîte de dialogue qui suit, la nommer effMef,
- Choisir de l'enregistrer dans le classeur de macros personnelles,
- Cliquer sur Ok pour débuter l'enregistrement,
- Cliquer sur l'onglet Accueil en haut de la fenêtre Excel pour activer son ruban,
- Puis, cliquer sur le bouton Mise en forme conditionnelle,
- Dans la liste, pointer sur Effacer les règles,
- Puis, choisir Effacer les règles des cellules sélectionnées,
- Dans le ruban Développeur, cliquer sur le bouton Arrêter l'enregistrement,
Les deux macros sont désormais créées. Nous devons les matérialiser par des boutons. Ces boutons doivent apparaître dans le
groupe Mise en forme du
ruban Spec que nous avons construit.
- Cliquer avec le bouton droit de la souris, n'importe où dans le ruban,
- Dans le menu contextuel, choisir Personnaliser le ruban,
- Dans la boîte de dialogue qui suit, choisir Macros dans la première liste déroulante,
- Puis, glisser la macro PERSONAL.XLSB!mefMaxMin dans le groupe Mise en forme du ruban Spec, situé dans la liste de droite,
- La renommer Mef Max Min et lui associer une icône, par exemple celle des drapeaux,
- Dans le même groupe, glisser la macro PERSONAL.XLSB!effMef,
- La renommer Suppr MefCond et lui associer l'icône de la gomme par exemple,
- Cliquer sur Ok pour valider l'intégration de ces macros,
- Cliquer sur l'onglet Spec en haut de la fenêtre Excel pour activer son ruban,
De retour sur l'interface
Excel, vous notez la présence des deux
boutons de macros, dans le groupe Mise en forme qui apparaît désormais.
- Dans la feuille CA, sélectionner toutes les données numériques, soit la plage C5:F16,
- Puis, cliquer sur le bouton de macro Mef Max Min du ruban Spec,
Les réglages de mise en forme conditionnelle enregistrés par la macro s'adaptent parfaitement à la sélection. Le chiffre le plus grand ainsi que le plus faible ressortent du lot, dans des symboliques de couleurs explicites. Nous aurions pu restreindre la sélection à une ligne, pour faire ressortir ces valeurs remarquables sur 1 mois seulement. Voilà donc une fonctionnalité intéressante pour renforcer la pertinence des tableaux de synthèse. De plus, le gain de temps est non négligeable. La macro regroupe en effet plusieurs enchaînements d'actions.
- Sélectionner de nouveau la plage de cellules C5:F16,
- Cliquer désormais sur le bouton de macro Suppr Mef Cond du ruban Spec,
Les règles du format dynamique ont parfaitement été effacées. Cette action est plus simple et donc plus confortable que l'enchaînement qui permet de conduire au même résultat.
Automatiser les formats numériques personnalisés
Comme vous le savez, l'unité de mesure ou la devise ne doit jamais être saisie dans la cellule, au risque de transformer le contenu en donnée textuelle. Lorsque des montants doivent être affichés en Euro, les nombres sont d'abord saisis normalement puis le
format monétaire leur est appliqué. Mais lorsque ces formats n'existent pas déjà , ils doivent d'abord être créés. Et lorsqu'ils sont souvent nécessaires, il est intéressant des les rattacher à des
boutons de macros.
- Cliquer sur l'onglet Unités en bas de la fenêtre Excel pour activer sa feuille,
Trois tableaux sont proposés. Ils affichent des données qui doivent être présentées dans des unités de mesure respectives : Le Mètre cube, le Kilogramme et le Kilomètre. Il s'agit donc de formats numériques à appliquer à ces valeurs par clic sur un bouton de macro. Mais ces formats ne sont pas proposés par défaut dans
Excel. Nous allons donc devoir
créer des formats numériques personnalisés, en même temps que nous enregistrerons les
macros associées. Comme nous l'avions déjà appris, l'astuce consiste à emprunter un format numérique de base et à le concaténer avec le texte de l'unité de mesure. Le mètre cube est particulier à cause du chiffre 3 en exposant qui peut être réalisé grâce au
raccourci clavier Alt + 252.
- Sélectionner n'importe quelle cellule de la feuille, par exemple L18,
- Cliquer sur l'onglet Développeur en haut de la fenêtre Excel pour activer son ruban,
- Dans la section Code du ruban, cliquer sur le bouton Enregistrer une macro,
- La nommer metreCube et choisir de l'enregistrer dans le classeur de macros personnelles,
- Valider par Ok pour démarrer l'enregistrement,
- Cliquer sur l'onglet Accueil en haut de la fenêtre Excel pour activer son ruban,
- Dérouler la liste déroulante de la section Nombre,
- Tout en bas de la liste, choisir Autres formats numériques,
- Dans l'onglet Nombre de la boîte de dialogue qui suit, sélectionner la catégorie Personnalisée,
- Dans la partie centrale, cliquer sur le format numérique standard suivant : # ##0,
Il s'agit du
format numérique Excel par défaut, sans décimales et avec séparateur de milliers. Ce séparateur est d'ailleurs traduit par l'espace entre le premier et le deuxième symbole dièse (#). Ce symbole # permet d'ignorer la chiffre 0 en préfixe lorsqu'il s'agit d'un nombre supérieur ou égale à 1. Par exemple, pour la saisie de la valeur 07500, Excel considère le nombre 7 500. La séquence de ce format numérique, une fois sélectionné, est proposé dans la zone type. Nous devons le compléter pour créer le format m
3.
- Cliquer dans la zone Type juste après le chiffre 0,
- Ouvrir les guillemets avec la touche 3 du clavier,
- Ajouter un espace avec la barre d'espace du clavier,
- Taper la lettre m suivi du raccourci Alt + 252,
Le chiffre 3 apparaît aussitôt en exposant. Associé à la lettre m, il symbolise parfaitement l'unité de mesure du mètre cube.
- Fermer les guillemets, toujours à l'aide de la touche 3 du clavier,
- Cliquer sur le bouton Ok de la boîte de dialogue pour valider la création du format numérique,
- Dans le ruban Développeur, cliquer sur le bouton Arrêter l'enregistrement,
La macro existe désormais. Avant de la matérialiser par un bouton, nous proposons de créer les deux autres, suivant le même schéma puisque seule l'unité textuelle entre guillemets est à changer. Comme l'illustre la capture ci-dessus, l'espace doit être saisi dans les guillemets, eux-mêmes accolés au format numérique emprunté. Il permet de séparer le nombre de son unité. S'il était saisi avant les guillemets, il produirait une division par mille.
- Créer la macro Kilogrammes permettant d'appliquer le format : # ##0' Kg',
- Penser à arrêter l'enregistrement,
- Créer la macro Kilometres pour appliquer le format personnalisé : # ##0' Km',
- Penser à arrêter l'enregistrement,
- En reproduisant les mêmes manipulations que précédemment pour les boutons de mise en forme, glisser les macros PERSONAL.XLSB!metreCube, PERSONAL.XLSB!Kilogrammes et PERSONAL.XLSB!Kilometres dans le groupe Unités de mesure du ruban Spec,
- Les renommer respectivement : Mètre Cube, Kilogrammes et Kilomètres,
- Leur associer des icônes représentatives comme celles proposées sur la capture ci-dessous,
- Valider ces réglages puis activer le ruban Spec,
- Sélectionner la plage de cellules C4:C13, puis cliquer sur le bouton Mètre Cube,
- Sélectionner la plage de cellules F4:F13, puis cliquer sur le bouton Kilogrammes,
- Sélectionner la plage de cellules I4:I13, puis cliquer sur le bouton Kilomètres,
Tous les formats personnalisés sont parfaitement appliqués. Les valeurs sont toujours considérées comme des données numériques par
Excel.
Pour en avoir le coeur net, il suffit de calculer les sommes automatiques respectivement en C14, F14 et I14. Les calculs ne produisent aucune erreur et les résultats sont automatiquement formatés dans les unités de mesure respectives.
Macros Majuscules et Minuscules
Nous souhaitons désormais proposer trois nouveaux boutons pour
modifier la casse des cellules sélectionnées. Le premier doit permettre de changer le texte en majuscules, le deuxième en minuscules et le dernier doit simplement passer la première lettre en majuscule. Cette fonctionnalité n'est pas proposée dans
Excel. Elle ne peut donc être simulée. Il s'agit de faire appel à un
code VBA exploitant les
fonctions UCase et LCase. Ces procédures de code existent déjà dans le classeur. Mais nous devons les déplacer dans le
classeur de macros personnelles pour que les boutons attachés, puissent les exploiter dans n'importe quel autre classeur. Comme nous y avons précédemment enregistré des macros, ce dernier sera naturellement proposé dans l'arborescence de l'explorateur de projet.
- Réaliser le raccourci ALT + F11 pour basculer dans l'éditeur de code VBA,
- Sur la gauche de la fenêtre, dans l'explorateur de projet, déployer l'affichage du dossier Modules,
- Puis, double cliquer sur l'élément Module1 pour afficher sa feuille de code,
Pour accéder à l'éditeur de code VBA Excel, nous aurions aussi pu cliquer sur le
bouton Visual Basic du ruban Développeur. Dans la feuille de code de l'élément Module1, vous constatez la présence de trois procédures : Majuscules, Minuscules et Prem_Lettre.
- Sélectionner l'intégralité du code (CTRL + A) et le copier (CTRL + C),
- Dans l'explorateur de projet, déployer l'affichage de VBAProject (PERSONAL.XLSB),
- Cliquer sur le menu Insertion en haut de la fenêtre de l'éditeur de code,
- Dans la liste, choisir Module,
- Dans sa feuille de code au centre de l'écran, coller le code (CTRL + V) précédemment copié,
Nous créons ainsi un
nouveau module attaché au
modèle Excel dans lequel nous collons les procédures de code permettant de modifier la casse des cellules sélectionnées. Ces procédures sont des macros. Et ces macros, au même titre que celles que nous avons créées automatiquement, sont désormais disponibles pour être intégrées dans le
ruban Spec.
Noter l'emploi des
boucles de traitements For Each dans le code VBA, afin que toutes les cellules sélectionnées au moment de la demande, soient traitées.
- Enregistrer les modifications (CTRL + S) et basculer sur la feuille Excel (ALT + F11),
- Cliquer avec le bouton droit de la souris n'importe où sur le ruban actif,
- Dans le menu contextuel, choisir Personnaliser le ruban,
- Choisir la catégorie Macros avec la liste déroulante au centre de la boîte de dialogue,
- Glisser les macros PERSONAL.XLSB!Majuscules, PERSONAL.XLSB!Minuscules et PERSONAL.XLSB!Prem_Lettre dans le groupe Changer la casse du ruban Spec,
- Les renommer respectivement : Majuscules, Minuscules et 1ère Lettre,
- Leur associer des icônes représentatives et valider la création des boutons par Ok,
Au fur et à mesure, notre interface se personnalise d'ingrédients et de fonctionnalités utiles pour toutes les utilisations d'Excel.
- Cliquer sur l'onglet CA en bas de la fenêtre Excel pour activer sa feuille,
- Cliquer sur l'onglet Spec en haut de la fenêtre Excel pour activer son ruban,
- Sélectionner les noms des commerciaux, soit la plage de cellules C4:F4,
- Cliquer tour à tour sur les trois boutons précédemment créés dans le ruban Spec,
Ces fonctionnalités précieuses marchent désormais à merveille et pour toute utilisation d'Excel. Tantôt vous forcez la première lettre seulement en majuscule, tantôt l'ensemble des textes est contraint en minuscules et tantôt en majuscules.
Macros pour automatiser les sélections spéciales
Il n'est jamais simple de manipuler les données d'une base de données. En raison de leur nombre et de leur densité, les sélections dans les bases de données s'avèrent souvent laborieuses. Des combinaisons de touches permettent cependant de faciliter la tâche. Nous proposons de simuler ces actions au clavier pour en créer des boutons de macros. Des simples clics permettront dès lors de réaliser des sélections globales et ciblées.
Nous souhaitons quatre boutons pour respectivement sélectionner : l'intégralité d'une ligne, l'intégralité d'une colonne, toutes les cellules jusqu'à la fin du tableau ou encore tout le tableau. Pour réaliser ces simulations, il est nécessaire d'agir depuis une source de données importante.
- Cliquer sur l'onglet Bd en bas de la fenêtre Excel pour activer sa feuille,
- Puis, sélectionner la cellule B2 par exemple, afin de fixer un point de départ,
- Cliquer sur l'onglet Développeur en haut de la fenêtre Excel pour activer son ruban,
- Dans la section Code, cliquer sur le bouton Enregistrer une macro,
- La nommer selectionLigne et choisir le classeur de macros personnelles,
- Cliquer sur Ok pour débuter l'enregistrement,
- Tout en maintenant appuyée la touche MAJ, enfoncée une fois la touche Fin puis dans la foulée appuyer une fois sur la flèche orientée à droite, du pavé directionnel,
A partir de la cellule B2 présélectionnée, l'ensemble de la ligne, sans déborder du tableau est ainsi mise en surbrillance. La simulation est terminée. Nous devons donc stopper l'enregistrement.
- Cliquer sur le bouton Arrêter l'enregistrement du ruban Développeur,
La
touche MAJ se nomme aussi Shift en anglais. Il ne s'agit pas de la touche pour verrouiller les majuscules. Elle est matérialisée par une grosse flèche orientée vers le haut et se situe généralement au-dessus de la touche Ctrl. Le touche Fin se reconnaît aisément puisque le texte y est écrit en toutes lettres.
- Sélectionner de nouveau uniquement la cellule B2,
- Créer la macro selectionColonne dans le classeur de macros personnelles,
- Tout en maintenant la touche MAJ enfoncée, appuyer une fois sur la touche Fin puis une fois sur la flèche orientée vers le bas dans le pavé directionnel,
- Penser à stopper l'enregistrement de la macro,
Vous constatez que l'intégralité de la colonne B, en partant de la cellule B2, a été sélectionnée.
- Sélectionner de nouveau uniquement la cellule B2,
- Créer la macro selectionFin dans le classeur de macros personnelles,
- Tout en maintenant les touches CTRL et MAJ enfoncées, appuyer sur la touche Fin,
- Penser à stopper l'enregistrement de la macro,
Toutes les cellules du tableau ont été sélectionnées, à partir de la cellule B2.
- Sélectionner de nouveau uniquement la cellule B2,
- Créer la macro selectionTout dans le classeur de macros personnelles,
- Réaliser le raccourci clavier CTRL + A,
- Penser à stopper l'enregistrement de la macro,
Comme vous l'avez remarqué, ce raccourci usuel a permis de sélectionner l'intégralité du tableau de la base dedonnées et ce, sans déborder. Si la cellule active au moment de la combinaison avait été située en dehors du tableau, c'est l'ensemble des cellules de la feuille qui auraient été sélectionnées.
- En reproduisant les mêmes manipulations du ruban que précédemment, glisser les macros PERSONAL.XLSB!selectionLigne, PERSONAL.XLSB!selectionColonne, PERSONAL.XLSB!selectionFin et PERSONAL.XLSB!selectionTout dans le groupe Sélections rapides du ruban Spec,
- Les renommer respectivement : Sélection Ligne, Sélection Colonne, Sélection Fin et Sélectionner Tout,
- Leur affecter des icônes représentatives comme celles proposées sur la figure ci-dessous,
- Cliquer sur Ok pour valider l'intégration des boutons de macros dans le ruban,
Si vous cliquez tour à tour sur les boutons ainsi créés, vous remarquez qu'ils reproduisent scrupuleusement les actions simulées au clavier. La sélection des données s'en trouve simplifiée. Il n'est plus nécessaire de devoir mémoriser les combinaisons de touches pour y parvenir.
Macros Excel pour naviguer dans la feuille
Toujours dans l'optique de faciliter la manipulation des bases de données, nous souhaitons créer deux nouveaux
boutons de macros. Le premier devra permettre d'atteindre instantanément la toute dernière cellule de la feuille. Le second devra permettre de remonter instantanément sur la toute première cellule de la feuille. Là encore, il s'agit de simuler des
combinaisons de touches pendant l'
enregistrement de la macro.
- Sélectionner la cellule B2 de la feuille Bd,
- Cliquer sur l'onglet Développeur en haut de la fenêtre Excel pour activer son ruban,
- Cliquer sur le bouton Enregistrer une macro,
- La nommer atteindreFin et choisir le classeur de macros personnelles,
- Cliquer sur le bouton Ok pour démarrer l'enregistrement,
- Réaliser la combinaison de touches CTRL + Fin,
- Cliquer sur le bouton Arrêter l'enregistrement du ruban Développeur,
Comme vous avez pu le remarquer, ce raccourci clavier a permis d'atteindre instantanément la toute dernière cellule active de la feuille, située à la ligne 998. Il s'agit donc d'une excellente méthode pour naviguer rapidement au travers des données volumineuses qui constituent les
bases de données Excel. La macro consistant à revenir sur la toute première cellule de la feuille consiste elle aussi à enregistrer une action clavier.
- Cliquer sur le bouton Enregistrer une macro du ruban Développeur,
- La nommer atteindreDebut et choisir le classeur de macros personnelles,
- Cliquer sur le bouton Ok pour démarrer l'enregistrement,
- Réaliser la combinaison de touches CTRL + Home,
- Cliquer sur le bouton Arrêter l'enregistrement du ruban Développeur,
La
touche Home est généralement matérialisée par une flèche orientée Nord-Ouest. Ce raccourci a permis de revenir instantanément au tout début de la feuille Excel.
- En répliquant les actions désormais usuelles, ajouter les macros PERSONAL.XLSB!atteindre_debut et PERSONAL.XLSB!atteindre_fin, dans la section Déplacements du ruban Spec,
- Les renommer respectivement : Atteindre début et Atteindre fin,
- Leur associer des icônes adaptées comme le propose la capture ci-dessous,
- Cliquer sur Ok pour valider l'intégration de ces deux nouveaux boutons de macros,
Si vous cliquez sur ces deux nouveaux boutons pour les tester, comme vous le constatez, vous disposez désormais de fonctionnalités permettant d'accéder rapidement aux extrémités de la feuille de base de données.
Les
macros Excel sont capables de reproduire n'importe quelle action. Il n'y a pas vraiment de limites. A chacun de recenser les actions récurrentes qu'il serait utile de transformer en macro pour bonifier son travail.
Configurer les réglages d'une nouvelle feuille
Une dernière macro est jugée utile pour faciliter la création de nouveaux tableaux, depuis de nouvelles feuilles dans Excel. Le principe est de permettre la création d'une nouvelle feuille par clic sur un bouton de macro, avec des réglages de mise en forme prédéfinis. Nous souhaitons des alignements à gauche avec retrait dans la cellule, des bordures qui se dessinent automatiquement lorsque le contenu est détecté comme non vide. Et puis, nous souhaitons que le remplissage intégral de la feuille soit défini sur une couleur de fond différente de celle qui est proposée par défaut.
Les actions à simuler sont très simples. Il s'agit de réglages de mises en forme manuelles et de réglages de mises en forme conditionnelles.
- Cliquer sur le bouton Enregistrer une macro du ruban Développeur,
- La nommer debuterFeuille et choisir le classeur de macros personnelles,
- Cliquer sur le bouton Ok pour débuter l'enregistrement,
- Cliquer sur le symbole à droite des onglets de feuille, en bas de la fenêtre Excel pour créer une nouvelle feuille,
- Réaliser le raccourci clavier CTRL + A pour sélectionner toutes les cellules de la feuille,
- Avec l'outil Couleur de remplissage du ruban Accueil, choisir un fond gris très clair,
- Cliquer sur le bouton Aligner au centre dans la section Alignement,
- Cliquer ensuite sur les boutons Aligner à gauche et Augmenter le retrait, toujours dans la section Alignement du ruban Accueil,
- Puis, dans la section Styles, cliquer sur le bouton Mise en forme conditionnelle,
- Dans la liste, choisir Nouvelle règle,
- Dans la boîte de dialogue qui suit, choisir le dernier type de règle : Utiliser une formule pour...,
- Cliquer dans la zone de saisie du critère située juste en dessous pour l'activer,
- Taper le symbole = pour débuter la saisie de la règle déclenchant le format dynamique,
- Sélectionner la cellule A1 à l'aide de la souris,
- Enfoncer trois fois la touche F4 du clavier jusqu'à faire disparaître tous les dollars,
Nous défigeons ainsi complètement la cellule. Le format dynamique que nous sommes en train de créer consiste à appliquer une bordure d'encadrement dès lors que le contenu n'est pas vide. Le critère doit donc être vérifié sur chaque cellule et non pas sur une seule figée.
- Taper ensuite le critère suivant : <>'',
Nous vérifions ainsi que la cellule n'est pas vide et donc, qu'elle contient bien une information, quelle que soit sa nature. Il s'agit maintenant de définir la bordure associée lorsque cette condition est vérifiée.
- Pour cela, cliquer sur le bouton Format situé en bas de la boîte de dialogue,
- Dans la nouvelle boîte qui apparaît, activer l'onglet Bordure,
- Choisir un type de trait plein avec une couleur violette,
- Puis cliquer sur le bouton Contour dans la zone Présélections,
- Valider ces réglages avec le bouton Ok,
Nous sommes de retour sur la première boîte de dialogue qui résume le format dynamique à déclencher lorsque la condition écrite dans la zone de critère est vérifiée.
- Cliquer de nouveau sur Ok pour confirmer la mise en forme conditionnelle,
Chaque action est scrutée par la macro en cours d'enregistrement. Nous souhaitons proposer le départ de la saisie en cellule B2. Nous devons donc la sélectionner.
- Sélectionner la cellule B2,
- Enfin, cliquer sur le bouton Arrêter l'enregistrement du ruban Développeur,
- Ajouter la macro PERSONAL.XLSB!debuterFeuille dans la section Nouveau du ruban Spec,
- La renommer : Débuter Feuille et lui associer une icône adaptée,
- Puis valider ces réglages par Ok,
Si vous cliquez sur ce nouveau bouton, une nouvelle feuille préconfigurée se crée automatiquement avec des réglages prédéfinis permettant de gagner un temps précieux.