Manipuler l’application Excel
Objectifs
Vous avez vu jusqu’à présent les objets les plus élémentaires qu’Excel peut gérer, les cellules, puis vous avez découvert les feuilles et les classeurs.
Le niveau le plus élevé de cette hiérarchie est l’application Excel en elle-même.
Ce chapitre traite des propriétés et méthodes qui peuvent être utilisées en VBA, pour configurer l’application Excel. Il s’agira également de découvrir comment lancer une nouvelle application Excel ou simplement la quitter.
Enfin, vous trouverez quelques exercices qui vous permettront de travailler vos nouvelles connaissances.
L’objet Application
L’objet Application est l’objet le plus « haut » dans la hiérarchie des objets que vous pourrez manipuler avec Excel. Cet objet VBA représente l’application Excel elle-même, c’est-à-dire le programme Excel.exe qui tourne sur votre ordinateur.
À noter que cet objet Application existe également dans les autres applications Office/Microsoft 365 (Word, Outlook ou Access par exemple). Aussi si vous devez manipuler dans votre programme plusieurs applications (piloter une application Word depuis du code VBA Excel est possible !), il faudra faire précéder l’objet Application de l’application en elle-même, Excel.Application.
Déclarer l’application Excel
Comme vous l’avez vu dans les chapitres précédents, la première étape pour pouvoir utiliser un objet au travers d’une variable est de déclarer cette variable. La déclaration se fait simplement ainsi :
Dim xlApp As Application
'ou encore
Dim xlApp As Excel.Application
Exemple 1 : déclaration d’une variable de type Application
Le simple fait de déclarer une variable de ce type ne suffit pas pour lancer une nouvelle application Excel. Il faut d’abord affecter une valeur à cette variable pour la lancer.
Lancer une nouvelle application Excel ou utiliser l’application...
Les propriétés de l’objet Application
Cette section vous présente quelques propriétés parmi les nombreuses que l’objet Application propose.
Les objets actifs : ActiveWorkbook, ActiveSheet, ActiveCell
Qu’il s’agisse d’une cellule, d’une feuille ou d’un classeur, il existe une propriété pour pointer directement sur l’objet actif en partant de l’objet Application.
'Obtenir le nom du classeur actif
Debug.Print Application.ActiveWorkbook.Name
'Obtenir le nom de la feuille active
Debug.Print Application.ActiveSheet.Name
'Obtenir l'adresse de la cellule active
Debug.Print Application.ActiveCell.Address
Exemple 6 : utilisation des propriétés Active de l’objet Application
Les propriétés d’affichage : DisplayAlerts, DisplayFormulaBar, DisplayStatusBar, Visible
Parmi les éléments affichés dans Excel, plusieurs sont manipulables au travers d’instructions VBA.
Message d’avertissements : DisplayAlerts
Lorsque vous effectuez des insertions ou des suppressions de cellules ou de feuilles, Excel vous demande si vous êtes sûr de vouloir effectuer cette action.

Cet affichage peut être manipulé en VBA, au moyen de la propriété DisplayAlerts, qui contient une valeur booléenne.
'Active le message...Les méthodes de l’objet Application
Plusieurs de ces méthodes ont déjà été vues au travers des autres objets Excel évoqués dans les chapitres précédents. Voici cependant une méthode qui pourra vous permettre une gestion plus aboutie de vos programmes : GetOpenFileName.
Lorsque vous souhaitez offrir la possibilité à un utilisateur de sélectionner un fichier à ouvrir, Excel affiche la boîte de dialogue Ouvrir pour parcourir l’Explorateur de fichiers. Cette interface est réplicable en VBA grâce à la méthode GetOpenFileName.
Cette méthode vous permet de récupérer le chemin du fichier que l’utilisateur aura choisi.
La syntaxe générale de cette méthode est la suivante :
Application.GetOpenFileName([FileFilter],[FilterIndex],[Title],
[ButtonText],[MultiSelect])
Exemple 14 : syntaxe générale de la méthode GetOpenFileName
Les paramètres sont optionnels.
FileFilter est une chaîne de caractères qui permet de spécifier les critères de filtre des fichiers. Vous y indiquerez les extensions de fichiers qui seront sélectionnables. Si aucune valeur n’est fournie, tous les fichiers sont sélectionnables.
'Filtrer les sur les fichiers texte ou Excel
Application.GetOpenFilename("Fichiers Texte (*.txt),*.txt...Exercices
Lancer une nouvelle application Excel
Créez une macro LancerNouvelleApplicationExcel.
Cette macro devra déclarer une variable de type Excel.Application et ouvrir une nouvelle application. Un nouveau classeur devra également y être créé.
Exécutez la macro LancerNouvelleApplicationExcel, et vérifiez qu’une nouvelle application Excel est bien ouverte.
Vous prendrez soin de fermer manuellement cette application. Libre à vous de créer une procédure dédiée à la fermeture d’application Excel, passée en paramètre.
Obtenir les objets actifs
Créez une macro AfficherNomsObjetsActifs.
Cette macro affichera le nom du classeur actif puis le nom de la feuille active et enfin, la valeur de la cellule active.
Saisissez une valeur dans la cellule active et exécutez la macro (l’affichage doit correspondre aux valeurs attendues).
Parcourir quelques fichiers
Créez une macro AfficherNomsFichiersSelectionnes.
Cette macro devra afficher une fenêtre Ouvrir, avec le titre Choisissez judicieusement. L’utilisateur devra avoir la possibilité de choisir plusieurs fichiers, l’extension des fichiers sera *.csv.
Une fois que l’utilisateur a choisi 0, 1 ou plusieurs fichiers, la macro affichera Aucun fichier si l’utilisateur en a choisi 0, ou affichera les noms de l’ensemble...