Sélectionner et formater toutes les plages nommées avec Excel VBA

Les utilisateurs d’excel aiment donner des noms aux plages de cellules. Un classeur dans lequel des dizaines de cellules et de plages ont des noms individuels n’a rien d’extraordinaire. Cependant, de telles procédures peuvent provoquer des erreurs dans le code vba. C’est pourquoi il est parfois utile de savoir où se trouve la plage donnée. La macro ci-dessous entraîne le remplissage en jaune des cellules de toutes les plages nommées du classeur.

Comment ca marche?
La boucle récupère séquentiellement les noms de toutes les plages décrites. Une fois le nom capturé, la couleur des cellules de la plage est modifiée.

Sub SelectionFormatage ()
'Étape 1: Déclaration des variables
Dim NomPlage As Name
Dim PlageSurligner As Range
'Étape 2: Si une erreur survient, Excel continuera
On Error Resume Next
'Étape 3: commencez la boucle pour chaque nom de plage
For Each NomPlage In ActiveWorkbook.Names
'Étape 4: Récupérez la propriété RefersToRange
Set PlageSurligner = NomPlage.RefersToRange
'Étape 5: Coloration des plages nommées
PlageSurligner.Interior.ColorIndex = 46
'Étape 6: La boucle passe à la plage suivante
Next NomPlage
End Sub

 

Commentaires
1. Tout d’abord, deux variables d’objet sont déclarées. La première variable, NomPlage, stocke les noms des plages suivantes de la collection Names traitée dans la boucle. La deuxième variable appelée PlageSurligner  stocke les données de plage stockées par la variable NomPlage.
2. Les utilisateurs d’Excel peuvent aussi attribuer des “noms” à des éléments qui ne sont pas des plages (telles que des états ou des formules). N’oubliez pas que nous devons prédire qu’Excel renverra une erreur lorsque la propriété RefersRange ne contient pas la plage d’adresses des cellules. Par conséquent, dans cette étape, nous allons introduire les incitations selon lesquelles toute erreur sera ignorée et le code exécuté. Grâce à cela, nous serons sûrs que la macro ne s’arrêtera pas brusquement quand il rencontre une adresse de plage invalide.
3. Dans cette étape, la macro exécute une boucle qui traite tous les noms de plage de manière séquentielle dans la collection Names du classeur actif.

4. Lorsque la plage nommée est active, son adresse est téléchargée dans la variable PlageSurligner . Grâce à cela, toutes les propriétés utilisables pour formater les cellules dans le périmètre seront visibles.
5. À l’étape cinq, nous affectons la couleur aux cellules de la plage traitée.
6. Enfin, la boucle passe à la plage nommée suivante. Lorsque toutes les plages nommées passent par la boucle, la macro termine le balayage.
Comment utiliser la macro?
Le meilleur endroit pour stocker cette macro est le classeur de macros personnelles. Merci à cette macro sera toujours disponible. Un classeur de macros personnelles est chargé à chaque démarrage d’Excel. Dans la fenêtre Projet de l’éditeur VBE, le fichier s’appellera PERSONAL.XLSB.
1. Utilisez les touches Alt + F11 pour activer Visual Basic Editor.

2. Dans la fenêtre Projet, cliquez avec le bouton droit sur PERSONAL.XLSB.
3. Sélectionnez Insérer / Module dans le menu.
4. Tapez ou collez le code.
Si vous ne pouvez pas voir le fichier PERSONAL.XLSB, cela signifie que vous ne l’avez pas encore créé. Enregistrez la macro et indiquez le classeur de macros personnelles comme emplacement de stockage.
Pour enregistrer la macro dans l’album de macros personnelles, sélectionnez-la dans la boîte de dialogue Relecture de la macro qui apparaît lors de l’enregistrement de la macro. Cette option est disponible dans la liste déroulante Store macro. Il suffit d’enregistrer le clic de plusieurs sociétés, puis de remplacer la macro par celle précédemment décrite.

S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
Voir tous les commentaires

Initiation à Excel

Fonctions Excel

Excel VBA

Macros VBA Utiles

Plus d'outils

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x