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 Workbook2 | Affecter un classeur
Le classeur est déjà ouvert
Set classeurVente = Workbooks("Ventes.xlsx")OU
Set classeurVente = ActiveWorkbookOU
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.Add3 | Manipuler un classeur
Activer un classeur
classeurVente.ActivateEnregistrer un classeur
Uniquement pour un classeur pour lequel on a déjà fait Enregistrer sous :
classeurVente.SaveEnregistrer sous un classeur
classeurVente.SaveAs Filename:=C:\Chemin\Fichier.xlsx, Fileformat:=LeFormatLeFormat peut être égal à :
xlOpenXMLWorkbookMacroEnabled : xlsm
xlOpenXMLWorkbook : xlsx
xlExcel : xlsFermer
Fermer un classeur en enregistrant les éventuelles modifications :
classeurVente.Close SaveChanges:=TrueFonctions 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 FunctionRésumé
