|
LE CLASSEUR D'EXCEL
Elle représente l'ensemble des classeurs ouverts et s'appelle
Workbooks.
Pour travailler avec un de ces classeurs, utilisez une des syntaxes suivantes
:
- Workbooks(n), où n est le
numéro d'index dans l'ordre où les classeurs ont été ouverts.
- Workbooks("nomclasseur.xls"),
où nomclasseur est le nom du classeur.
2 mots clés désignent des classeurs spécifiques
:
- ActiveWorkbook représente
le classeur actif, celui qui est sélectionné dans la
fenêtre d'Excel.
- ThisWorkbook représente le
classeur dans lequel est écrit le code.
Il peut être le même que ActiveWorkbook si
la macro est contenu dans le classeur actif.
Pour ouvrir un nouveau classeur vierge utilisez cette procédure
:
Sub Nouveau_Classeur()
Workbooks.Add
End Sub
Pour préciser le modèle du nouveau classeur :
Sub Nouveau_Classeur()
Workbooks.Add "Duree Formation"
End Sub
I.2. Ouvrir un
classeur
Workbooks.Open "chemin_nom_classeur.xls"
Vous pouvez également la mise à jour des liens, et les
mots de passe en Lecture et en Ecriture :
Workbooks.Open "chemin_nom_classeur.xls",NoUpdate,,,"mot
de passe lecture", "mot de passe écriture"
Où NoUpdate peut prendre les valeurs suivantes, si vous ne lui
attribuez aucune valeur, la boîte de dialogue de mise à jour
s'affiche :
| 0 |
ne met rien à jour. |
| 1 |
met à jour les liens externes
mais pas les liens distants. |
| 2 |
met à jour les liens distants
mais pas les liens externes. |
| 3 |
met tout à jour. |
I.2. Fermer un
classeur
- Tous les classeurs : Workbooks.Close
- Un seul classeur :
- Workbooks("nomclasseur.xls).Close
- Workbooks("nomclasseur.xls).Close
Sauvegarde,
où Sauvegarde est True si
vous voulez enregistrer les changements et False dans
le cas contraire.
Cette propriété renvoie la collection des propriétés
de document (vous les atteignez avec Fichier/Propriétés).
Dans l'explorateur, l'auteur, le titre, le sujet et le commentaire sont
visibles dans une info-bulle.
Pour affecter une valeur à une de ces propriétés, procéder
ainsi :
BuiltinDocumentProperties("propriété")="texte"
où propriété peut être, entre autres :
| Title pour le titre |
Author pour le nom de l'auteur |
| Subject pour le sujet |
Comments pour le commentaire |
L'exemple suivant attribue un auteur, une société et
un commentaire au classeur :
Sub Prop_Document()
With ActiveWorkbook
.BuiltinDocumentProperties("Author")
= "Cathy Monier"
.BuiltinDocumentProperties("Comments")
= "essai de propriétés par procédure dans un classeur"
.BuiltinDocumentProperties("Company")
= "Cathy Astuce"
End With
End Sub
L'exemple suivant vous permet de lister l'ensemble des propriétés,
leur nom et leur contenu. La ligne On Error Resume
Next permet de ne pas provoquer une erreur lorsque la propriété est
vide.
Sub Lire_Prop_Document()
Dim P As Variant
Dim L As Byte
On Error Resume Next
L = 1
For Each P In ActiveWorkbook.BuiltinDocumentProperties
Range("A" & L) = P.Name
Range("B" & L) = P
L = L + 1
Next
End Sub
- ActiveWorkbook.Fullname renvoie le nom complet, chemin compris du
classeur actif
- ActiveWorkbook.Name renvoie uniquement son nom.
- ActiveWorkbook.Path renvoie son chemin d'accès sans le séparateur
final
En bref la fonction Chemin suivante renvoie toujours True si le classeur
est enregistré :
Function Chemin() As Boolean
Chemin = False
With ActiveWorkbook
If .FullName = .Path & "\" & .Name
Then Chemin = True
End With
End Function
| Méthode |
Définition |
Exemple |
|
Activate |
Pour rendre le classeur actif |
Workbooks(1).Activate |
| Close |
Pour fermer le classeur |
Workbooks(1).Close |
| Save |
Sauvegarder le classeur |
ActiveWorkbook.Save |
| SaveAs |
Sauvegarder le classeur sous un
nouveau nom, c'est ce nouveau classeur qui est actif et le
précédent n'est pas ouvert. |
ActiveWorkbook.SaveAs
"C:\chemin\nom classeur.xls" |
| SaveCopyAs |
Effectue une copie du classeur sans
modifier le classeur qui reste actif. |
ActiveWorkbook.SaveCopyAs
"C:\chemin\nom classeur.xls" |
Depuis la version 97, VBA gère les évènements
suivants d'un classeur, vous pouvez ainsi effectuer une action lors
de ces évènements :
| Procédure |
Se produit |
| Sub Workbook_Activate() |
quand le classeur est activé |
| Sub Workbook_Deactivate() |
quand le classeur est désactivé |
| Sub Workbook_AddinInstall() |
quand le classeur est installé sous
forme de macro complémentaire |
| Sub Workbook_AddinUninstall() |
quand le classeur, sous forme de macro
complémentaire, est désinstallé |
| Sub Workbook_BeforeClose(Cancel As
Boolean) |
juste avant que le classeur se ferme.
Pour arrêter la fermeture, attribuez la valeur True à Cancel. |
| Sub Workbook_BeforePrint(Cancel As
Boolean) |
juste avant l'impression. Pour annuler
l'impression attribuez la valeur True à Cancel. |
| Sub Workbook_BeforeSave(ByVal SaveAsUi
As Boolean, Cancel As Boolean) |
juste avant l'enregistrement. Pour
l'arrêter, attribuez la valeur True à Cancel.
Pour afficher la la boîte de dialogue Enregistrer sous, SaveAsUi
= True |
| Sub Workbook_NewSheet(ByVal Sh As
Object) |
quand une nouvelle feuille est crée. Sh représente
la feuille (de calcul ou graphique) |
| Sub Workbook_Open() |
quand le classeur est ouvert |
|