Blog ENI : Toute la veille numérique !
-25€ dès 75€ sur les livres en ligne, vidéos... avec le code FUSEE25. J'en profite !
Accès illimité 24h/24 à tous nos livres & vidéos ! 
Découvrez la Bibliothèque Numérique ENI. Cliquez ici

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...

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 : ActiveXX

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 : DisplayXX, 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.

images/16SOB01N.png

Cet affichage peut être manipulé en VBA, au moyen de la propriété DisplayAlerts, qui contient une valeur booléenne.

'Active le message d'alerte 
Application.DisplayAlerts = True 
'Désactive...

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 deux méthodes qui pourront vous permettre une gestion plus aboutie de vos programmes.

Parcourir dans l’Explorateur de fichiers : 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 ...

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.

 Exécutez la macro LancerNouvelleApplicationExcel, et vérifiez qu’une nouvelle application Excel est bien ouverte.

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 *.txt.

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 l’ensemble des fichiers sélectionnés par MsgBox.

 Exécutez la macro AfficherNomsFichiersSelectionnes, assurez-vous que les trois cas de figure sont bien pris en considération par votre code.