Skip to content

Classeurs

1 | Déclarer un classeur

On déclare une variable de type Workbook (classeur) pour ensuite manipuler le classeur avec la variable.
Par exemple, on déclare la variable classeurVente ainsi :
Dim classeurVente As Workbook

2 | Affecter un classeur

Le classeur est déjà ouvert

Set classeurVente = Workbooks("Ventes.xlsx")
OU
Set classeurVente = ActiveWorkbook
OU
Set classeurVente = ThisWorkbook
(le classeur contenant la macro, même s’il n’est pas actif)
OU
Set classeurVente = Workbooks(1)

Le classeur doit être ouvert

Set classeurVente = Workbooks.Open("C:\Ventes.xlsx")

Le classeur doit être créé

Set classeurVente = Workbooks.Add

3 | Manipuler un classeur

Activer un classeur

classeurVente.Activate

Enregistrer un classeur

Uniquement pour un classeur pour lequel on a déjà fait Enregistrer sous :
classeurVente.Save

Enregistrer sous un classeur

classeurVente.SaveAs Filename:=C:\Chemin\Fichier.xlsx, Fileformat:=LeFormat
LeFormat peut être égal à :
xlOpenXMLWorkbookMacroEnabled : xlsm
xlOpenXMLWorkbook : xlsx
xlExcel : xls

Fermer

Fermer un classeur en enregistrant les éventuelles modifications :
classeurVente.Close SaveChanges:=True

Fonctions personnalisées

Fonction EstClasseurOuvert

Vérifie si un classeur est ouvert dans la session active d’Excel (si le fichier est ouvert dans une autre session d’Excel, la fonction ne le détecte pas)
Function EstClasseurOuvert(sNomClasseur As String) As Boolean
Dim x As Workbook

On Error Resume Next
Set x = Workbooks(sNomClasseur)
EstClasseurOuvert = (Err = 0)

End Function

Résumé

image.png
Want to print your doc?
This is not the way.
Try clicking the ··· in the right corner or using a keyboard shortcut (
CtrlP
) instead.