Sélectionner un classeur à l'aide de VBA
Cette page montre comment affecter un classeur ouvert à une variable Workbook
à l'aide d'une instruction Set
.
Il s'agit de la méthode de programmation préférée par rapport à l'utilisation de ActiveWorkbook
(utilisation de Select
).
Sélectionner le classeur par son nom
La propriété Item
de la collection Workbooks
est utilisée pour renvoyer un seul objet Workbook
de la collection. Elle est appelée comme suit :
Dim wb As Workbook
Set wb = Application.Workbooks.Item(Index:="Demo.xlsx")
Workbook
à sélectionner est déjà ouverte dans Excel.
La collection Workbooks
est obtenue à partir de la procédure Application.Workbooks
.
La procédure Item
renvoie un objet de type Workbook
qui est éventuellement affecté à une variable wb
.
Normalement, dans Index
, vous utiliserez le nom du fichier pour l'identifier, bien qu'à proprement parler vous puissiez utiliser le numéro de position dans la collection.
... ou plus court :
Dim wb As Workbook
Set wb = Workbooks("Demo.xlsx")
- Parce que la
Application.Workbooks
est globaleApplication
peut être omis de la déclaration. - Une pratique courante pour les éléments de collection consiste à utiliser une abréviation : Au lieu de l'expression complète
collection.Item(...)
le plus courtcollection(...)
est utilisé. - Comme cela ne rend pas les choses plus claires, nous laissons également de côté la mention
Item
nom du paramètre(Index:=...)
Sélectionner le classeur avec le nom de la variable
Le plus souvent, vous voudrez appliquer vos procédures aux noms de fichiers variables.
Pour ce faire, vous utiliserez une variable String
à laquelle une valeur sera attribuée d'une manière ou d'une autre, par exemple à l'aide d'une boîte de dialogue de sélection de fichiers.
Dim strWorkbook As String: strWorkbook =
Dim wb As Workbook
Set wb = Workbooks(strWorkbook)
Sélectionner le classeur et la feuille
En général, vous souhaitez agir sur un site feuille de calcul dans le classeur. Vous trouverez ci-dessous un exemple de la manière de procéder. Voir aussi Sélectionner Feuille de calcul à l'aide de VBA.
Dim strWorkbook As String: strWorkbook = "Demo.xlsx"
Dim wb As Workbook
Set wb = Workbooks(strWorkbook)
Dim ws As Worksheet
Set ws = wb.Worksheets("Data")