Résumé
L’objet Workbooks représente une collection de classeurs Excel ouverts. Pour appeler un classeur spécifique on utilisera son numéro ou plus fréquemment son nom. Par exemple, le code suivant active le second classeur puis le classeur nommé « test ».
Workbooks(2).Activate
Workbooks("test.xlsx").Activate
L’objet Workbook (sans ‘s’) représente un seul classeur. Il faudra cependant le définir comme dans l’exemple ci-dessous.
Dim wb as Workbook
Set wb = Workbooks.Open("C:\Utilisateurs\Legrand\test.xlsx")
Dans cet exemple, nous avons défini une variable wb qui sera un classeur. Pour l’appeler nous avons dû indiquer le chemin d’accès vers le classeur.
Enfin, la propriété ActiveWorkbook de l’objet Application permet de manipuler le classeur actuellement actif.
ActiveWorkbook.Worksheets(1).Activate
Evénements
Un événement en VBA Excel est une action déclenchée par l’utilisateur ou par le système, comme le clic sur un bouton, la modification d’une cellule ou l’ouverture d’un classeur. Les événements permettent de déclencher automatiquement du code VBA en réponse à ces actions.
- Activate : Se déclenche lorsque le classeur devient actif, c’est-à-dire lorsqu’il est sélectionné ou mis en avant.
- AddinInstall : Se déclenche lors de l’installation d’un complément (add-in) dans Excel.
- AddinUninstall : Se déclenche lors de la désinstallation d’un complément (add-in) dans Excel.
- AfterRemoteChange : Se déclenche après une modification apportée par un utilisateur distant via une session de collaboration.
- AfterSave : Se déclenche après l’enregistrement d’un classeur.
- AfterXmlExport : Se déclenche après l’exportation des données XML depuis un classeur.
- AfterXmlImport : Se déclenche après l’importation des données XML dans un classeur.
- BeforeClose : Se déclenche juste avant la fermeture d’un classeur, permettant d’annuler la fermeture si nécessaire.
- BeforePrint : Se déclenche juste avant l’impression d’un classeur ou d’une feuille, permettant de personnaliser ou d’annuler l’impression.
- BeforeRemoteChange : Se déclenche avant une modification apportée par un utilisateur distant via une session de collaboration.
- BeforeSave : Se déclenche juste avant l’enregistrement d’un classeur, permettant de personnaliser ou d’annuler l’enregistrement.
- BeforeXmlExport : Se déclenche avant l’exportation des données XML, permettant de personnaliser ou d’annuler l’exportation.
- BeforeXmlImport : Se déclenche avant l’importation des données XML, permettant de personnaliser ou d’annuler l’importation.
- Deactivate : Se déclenche lorsque le classeur devient inactif, c’est-à-dire lorsqu’un autre classeur ou une autre application est activé(e).
- ModelChange : Se déclenche lorsqu’il y a un changement dans le modèle de données lié au classeur.
- NewChart : Se déclenche lorsqu’un nouveau graphique est créé dans le classeur.
- NewSheet : Se déclenche lorsqu’une nouvelle feuille (de calcul, graphique, etc.) est ajoutée au classeur.
- Open : Se déclenche lorsque le classeur est ouvert.
- PivotTableCloseConnection : Se déclenche lorsque la connexion de données d’un tableau croisé dynamique est fermée.
- PivotTableOpenConnection : Se déclenche lorsque la connexion de données d’un tableau croisé dynamique est ouverte.
- RowsetComplete : Se déclenche après qu’un ensemble de lignes (rowset) a été complètement chargé ou modifié dans une feuille.
- SheetActivate : Se déclenche lorsqu’une feuille de calcul ou tout autre type de feuille dans le classeur devient active.
- SheetBeforeDelete : Se déclenche juste avant la suppression d’une feuille dans le classeur.
- SheetBeforeDoubleClick : Se déclenche avant l’exécution de l’action de double-clic sur une cellule dans une feuille, permettant de personnaliser ou d’annuler l’action.
- SheetBeforeRightClick : Se déclenche avant l’exécution de l’action de clic droit sur une cellule dans une feuille, permettant de personnaliser ou d’annuler l’action.
- SheetCalculate : Se déclenche lorsqu’une feuille de calcul est recalculée.
- SheetChange : Se déclenche lorsqu’une cellule est modifiée dans une feuille de calcul.
- SheetDeactivate : Se déclenche lorsqu’une feuille de calcul ou tout autre type de feuille dans le classeur devient inactive.
- SheetFollowHyperlink : Se déclenche lorsqu’un lien hypertexte est suivi (cliqué) dans une feuille.
- SheetLensGalleryRenderComplete : Se déclenche après que la galerie de graphiques « Lens » a terminé de se rendre dans une feuille.
- SheetPivotTableAfterValueChange : Se déclenche après qu’une modification de valeur a été effectuée dans un tableau croisé dynamique sur une feuille.
- SheetPivotTableBeforeAllocateChanges : Se déclenche avant que les changements dans un tableau croisé dynamique ne soient appliqués (allocation des modifications).
- SheetPivotTableBeforeCommitChanges : Se déclenche avant que les changements dans un tableau croisé dynamique ne soient définitivement appliqués (validation des modifications).
- SheetPivotTableBeforeDiscardChanges : Se déclenche avant que les changements dans un tableau croisé dynamique ne soient annulés.
- SheetPivotTableChangeSync : Se déclenche après une synchronisation des modifications dans un tableau croisé dynamique sur une feuille.
- SheetPivotTableUpdate : Se déclenche lorsqu’un tableau croisé dynamique est mis à jour sur une feuille.
- SheetSelectionChange : Se déclenche lorsqu’une nouvelle sélection de cellule(s) est faite dans une feuille de calcul.
- SheetTableUpdate : Se déclenche lorsqu’une table (de données) dans une feuille est mise à jour.
- Sync : Se déclenche lorsqu’un classeur est synchronisé avec une copie stockée sur un serveur ou un autre emplacement de collaboration.
- WindowActivate : Se déclenche lorsqu’une fenêtre du classeur devient active.
- WindowDeactivate : Se déclenche lorsqu’une fenêtre du classeur devient inactive.
- WindowResize : Se déclenche lorsqu’une fenêtre du classeur est redimensionnée.
Méthodes
Une méthode en VBA Excel est une fonction ou une action que vous pouvez appliquer à un objet, comme .Activate
, .Save
, ou .Clear
. Les méthodes effectuent des opérations spécifiques sur les objets.
- AcceptAllChanges : Accepte toutes les modifications apportées à un classeur partagé.
- Activate : Active le classeur, le rendant ainsi la fenêtre active.
- AddToFavorites : Ajoute le classeur à la liste des favoris.
- ApplyTheme : Applique un thème de document spécifique au classeur.
- BreakLink : Rompt le lien entre le classeur et les sources de données externes spécifiées.
- CanCheckIn : Vérifie si le classeur peut être archivé (check-in) sur un serveur.
- ChangeFileAccess : Change le mode d’accès au fichier (lecture seule, lecture/écriture).
- ChangeLink : Modifie les sources d’un lien externe dans le classeur.
- CheckIn : Archive le classeur sur un serveur, en tant que partie d’une gestion de documents.
- CheckInWithVersion : Archive le classeur sur un serveur et crée une nouvelle version si applicable.
- Close : Ferme le classeur.
- ConvertComments : Convertit les commentaires du classeur en notes ou en commentaires modernes.
- CreateForecastSheet : Crée une nouvelle feuille avec des prévisions basées sur les données historiques du classeur.
- DeleteNumberFormat : Supprime un format de nombre personnalisé du classeur.
- EnableConnections : Active toutes les connexions de données pour le classeur.
- EndReview : Met fin à la révision du document, ce qui empêche les modifications supplémentaires dans un classeur partagé.
- ExclusiveAccess : Demande l’accès exclusif au classeur, retirant ainsi l’accès des autres utilisateurs.
- ExportAsFixedFormat : Exporte le classeur dans un format fixe, tel que PDF ou XPS.
- FollowHyperlink : Suit un lien hypertexte spécifié dans le classeur.
- ForwardMailer : Transfère le classeur via un client de messagerie.
- GetWorkflowTasks : Récupère une collection de tâches de workflow associées au classeur.
- GetWorkflowTemplates : Récupère une collection de modèles de workflow disponibles pour le classeur.
- HighlightChangesOptions : Spécifie les options de surlignage pour les modifications dans un classeur partagé.
- LinkInfo : Renvoie des informations sur les liens externes dans le classeur, comme le type et le statut.
- LinkSources : Renvoie une liste des sources des liens externes dans le classeur.
- LockServerFile : Verrouille le fichier serveur associé au classeur pour empêcher d’autres modifications.
- MergeWorkbook : Fusionne les modifications de plusieurs copies du classeur dans une version principale.
- NewWindow : Ouvre une nouvelle fenêtre pour le classeur actif.
- OpenLinks : Ouvre les documents liés dans le classeur.
- PivotCaches : Renvoie une collection de caches de tableau croisé dynamique dans le classeur.
- Post : Publie le classeur sur un serveur ou un site Web.
- PrintOut : Imprime le classeur ou des parties spécifiques de celui-ci.
- PrintPreview : Affiche un aperçu avant impression du classeur.
- Protect : Protège le classeur contre les modifications.
- ProtectSharing : Partage le classeur avec d’autres utilisateurs et protège les modifications.
- PublishToDocs : Publie le classeur sur un serveur de documents comme SharePoint.
- PurgeChangeHistoryNow : Supprime l’historique des modifications dans un classeur partagé.
- RefreshAll : Actualise toutes les connexions de données et tableaux croisés dynamiques du classeur.
- RejectAllChanges : Rejette toutes les modifications apportées à un classeur partagé.
- ReloadAs : Recharge le classeur dans un autre format de fichier.
- RemoveDocumentInformation : Supprime les métadonnées et informations personnelles du classeur.
- RemoveUser : Retire un utilisateur spécifique d’un classeur partagé.
- Reply : Répond à un email avec le classeur attaché.
- ReplyAll : Répond à tous les destinataires d’un email avec le classeur attaché.
- ReplyWithChanges : Répond à un email avec les modifications apportées au classeur joint.
- ResetColors : Réinitialise les couleurs personnalisées du classeur aux valeurs par défaut.
- RunAutoMacros : Exécute une macro automatique spécifique, telle que Auto_Open.
- Save : Enregistre le classeur.
- SaveAs : Enregistre le classeur sous un nouveau nom ou format.
- SaveAsXMLData : Enregistre une carte XML dans le classeur sous forme de fichier XML.
- SaveCopyAs : Enregistre une copie du classeur sous un nouveau nom ou emplacement.
- SendFaxOverInternet : Envoie le classeur par fax via Internet.
- SendForReview : Envoie le classeur pour révision par email.
- SendMail : Envoie le classeur par email.
- SendMailer : Envoie le classeur via une application de messagerie.
- SetLinkOnData : Définit une macro à exécuter lorsqu’un lien de données spécifique est mis à jour.
- SetPasswordEncryptionOptions : Définit les options de cryptage de mot de passe pour le classeur.
- ToggleFormsDesign : Active ou désactive le mode de conception de formulaire pour le classeur.
- Unprotect : Supprime la protection du classeur.
- UnprotectSharing : Supprime la protection et le partage d’un classeur.
- UpdateFromFile : Met à jour le classeur avec les modifications apportées dans un fichier source externe.
- UpdateLink : Met à jour les liens externes dans le classeur.
- WebPagePreview : Affiche un aperçu du classeur tel qu’il apparaîtrait sur une page Web.
- XmlImport : Importe un fichier XML dans une carte XML du classeur.
- XmlImportXml : Importe des données XML sous forme de texte dans une carte XML du classeur.
Propriétés
Une propriété en VBA Excel représente un attribut ou une caractéristique d’un objet, comme .Value
pour la valeur d’une cellule ou .Name
pour le nom d’une feuille. Les propriétés peuvent être lues ou modifiées pour contrôler l’apparence ou le comportement de l’objet.
- AccuracyVersion : Définit ou renvoie la version de précision des calculs dans le classeur pour garantir la compatibilité avec différentes versions d’Excel.
- ActiveChart : Renvoie l’objet
Chart
actif dans le classeur, si un graphique est actuellement sélectionné. - ActiveSheet : Renvoie l’objet
Sheet
actif dans le classeur, qu’il s’agisse d’une feuille de calcul, de graphique, etc. - ActiveSlicer : Renvoie l’objet
Slicer
actif dans le classeur, s’il y en a un sélectionné. - Application : Renvoie l’objet
Application
qui représente l’application Excel. - AutoSaveOn : Détermine si la sauvegarde automatique est activée pour le classeur.
- AutoUpdateFrequency : Définit ou renvoie la fréquence en minutes à laquelle les modifications sont automatiquement mises à jour dans un classeur partagé.
- AutoUpdateSaveChanges : Spécifie si les modifications apportées dans un classeur partagé sont enregistrées automatiquement à chaque mise à jour.
- BuiltinDocumentProperties : Renvoie une collection des propriétés de document intégrées pour le classeur (titre, sujet, auteur, etc.).
- CalculationVersion : Renvoie un entier qui indique la version d’Excel dans laquelle les calculs du classeur ont été effectués pour la dernière fois.
- CaseSensitive : Détermine si les comparaisons de texte dans les fonctions de recherche et de tri sont sensibles à la casse.
- ChangeHistoryDuration : Définit ou renvoie le nombre de jours pendant lesquels l’historique des modifications est conservé pour un classeur partagé.
- ChartDataPointTrack : Détermine si le suivi des points de données est activé pour les graphiques dans le classeur.
- Charts : Renvoie une collection de tous les objets
Chart
(feuilles de graphique) dans le classeur. - CheckCompatibility : Indique si Excel vérifie automatiquement la compatibilité du classeur lors de son enregistrement.
- CodeName : Renvoie ou définit le nom interne du classeur utilisé dans le code VBA.
- Colors : Renvoie ou définit la palette de couleurs personnalisées du classeur.
- CommandBars : Renvoie une collection des barres de commandes (menus, barres d’outils) associées à Excel, bien que cette propriété soit principalement obsolète avec le ruban moderne.
- ConflictResolution : Définit la manière dont les conflits sont résolus dans un classeur partagé (manuellement, en acceptant les modifications du dernier utilisateur, etc.).
- Connections : Renvoie une collection des connexions de données dans le classeur.
- ConnectionsDisabled : Indique si les connexions de données ont été désactivées dans le classeur.
- Container : Renvoie l’objet conteneur COM pour le classeur, si applicable.
- ContentTypeProperties : Renvoie une collection des propriétés de type de contenu associées au classeur.
- CreateBackup : Indique si un fichier de sauvegarde est créé lorsque le classeur est enregistré.
- Creator : Renvoie un entier indiquant l’application dans laquelle le classeur a été créé (généralement Excel).
- CustomDocumentProperties : Renvoie une collection des propriétés de document personnalisées pour le classeur.
- CustomViews : Renvoie une collection des vues personnalisées définies pour le classeur.
- CustomXMLParts : Renvoie une collection des parties XML personnalisées stockées dans le classeur.
- Date1904 : Indique si le classeur utilise le système de date 1904 (utile pour la compatibilité avec certaines versions de Mac).
- DefaultPivotTableStyle : Renvoie ou définit le style par défaut appliqué aux tableaux croisés dynamiques dans le classeur.
- DefaultSlicerStyle : Renvoie ou définit le style par défaut appliqué aux segments (slicers) dans le classeur.
- DefaultTableStyle : Renvoie ou définit le style par défaut appliqué aux tables dans le classeur.
- DefaultTimelineStyle : Renvoie ou définit le style par défaut appliqué aux chronologies dans le classeur.
- DisplayDrawingObjects : Contrôle l’affichage des objets de dessin (formes, graphiques, etc.) dans le classeur.
- DisplayInkComments : Indique si les commentaires manuscrits sont affichés dans le classeur.
- DocumentInspectors : Renvoie une collection des inspecteurs de document utilisés pour vérifier le contenu du classeur.
- DocumentLibraryVersions : Renvoie une collection des versions du classeur stockées dans une bibliothèque de documents.
- DoNotPromptForConvert : Indique si Excel doit afficher une invite de conversion de format de fichier lorsque le classeur est ouvert.
- EnableAutoRecover : Indique si la fonctionnalité de récupération automatique est activée pour le classeur.
- EncryptionProvider : Renvoie ou définit le fournisseur de cryptage utilisé pour protéger le classeur.
- EnvelopeVisible : Indique si l’enveloppe de messagerie est visible dans le classeur (envoi par email).
- Excel4IntlMacroSheets : Renvoie une collection de feuilles de macros Excel 4.0 internationales dans le classeur.
- Excel4MacroSheets : Renvoie une collection de feuilles de macros Excel 4.0 dans le classeur.
- Excel8CompatibilityMode : Indique si le classeur est en mode de compatibilité Excel 97-2003.
- FileFormat : Renvoie un entier indiquant le format de fichier du classeur (par exemple, xlsx, xlsm, etc.).
- Final : Indique si le classeur est marqué comme final, empêchant ainsi les modifications supplémentaires.
- ForceFullCalculation : Indique si Excel doit recalculer toutes les formules du classeur à chaque fois, sans optimisation.
- FullName : Renvoie le nom complet du classeur, y compris son chemin.
- FullNameURLEncoded : Renvoie le nom complet du classeur, encodé pour les URL.
- HasPassword : Indique si le classeur est protégé par un mot de passe.
- HasVBProject : Indique si le classeur contient un projet VBA.
- HighlightChangesOnScreen : Indique si les modifications sont mises en évidence à l’écran dans un classeur partagé.
- IconSets : Renvoie une collection des ensembles d’icônes utilisés pour le formatage conditionnel dans le classeur.
- InactiveListBorderVisible : Indique si la bordure de la liste inactive est visible dans le classeur.
- IsAddin : Indique si le classeur est enregistré en tant que complément (add-in).
- IsInplace : Indique si le classeur est modifié dans place (c’est-à-dire à l’intérieur d’une autre application).
- KeepChangeHistory : Indique si l’historique des modifications est conservé dans un classeur partagé.
- ListChangesOnNewSheet : Indique si les modifications sont répertoriées sur une nouvelle feuille dans un classeur partagé.
- Mailer : Renvoie l’objet
Mailer
, utilisé pour envoyer le classeur par email. - Model : Renvoie l’objet
Model
, qui représente le modèle de données intégré au classeur. - MultiUserEditing : Indique si le classeur est ouvert en mode multi-utilisateur.
- Name : Renvoie ou définit le nom du classeur.
- Names : Renvoie une collection des noms définis (plages nommées) dans le classeur.
- Parent : Renvoie l’objet parent du classeur.
- Password : Renvoie ou définit le mot de passe utilisé pour ouvrir le classeur.
- PasswordEncryptionAlgorithm : Renvoie le nom de l’algorithme de cryptage utilisé pour le mot de passe du classeur.
- PasswordEncryptionFileProperties : Indique si les propriétés du fichier sont également cryptées avec le mot de passe.
- PasswordEncryptionKeyLength : Renvoie la longueur de la clé de cryptage pour le mot de passe du classeur.
- PasswordEncryptionProvider : Renvoie ou définit le fournisseur de cryptage utilisé pour protéger le mot de passe du classeur.
- Path : Renvoie le chemin d’accès au dossier où le classeur est enregistré.
- Permission : Renvoie l’objet
Permission
, qui gère les droits d’accès et d’utilisation du classeur. - PersonalViewListSettings : Indique si les paramètres d’affichage de la liste personnalisée sont enregistrés avec le classeur.
- PersonalViewPrintSettings : Indique si les paramètres d’impression personnalisés sont enregistrés avec le classeur.
- PivotTables : Renvoie une collection de tous les objets
PivotTable
dans le classeur. - PrecisionAsDisplayed : Indique si les calculs dans le classeur utilisent la précision des valeurs telles qu’elles sont affichées.
- ProtectStructure : Indique si la structure du classeur (l’ordre des feuilles) est protégée.
- ProtectWindows : Indique si la disposition des fenêtres du classeur est protégée.
- PublishObjects : Renvoie une collection de tous les objets à publier (feuilles, graphiques, etc.) dans le classeur.
- Queries : Renvoie une collection des requêtes de données dans le classeur.
- ReadOnly : Indique si le classeur est ouvert en mode lecture seule.
- ReadOnlyRecommended : Indique si le classeur est recommandé pour être ouvert en lecture seule.
- RemovePersonalInformation : Indique si les informations personnelles sont supprimées lors de l’enregistrement du classeur.
- Research : Renvoie l’objet
Research
, utilisé pour effectuer des recherches en ligne à partir du classeur. - RevisionNumber : Renvoie le numéro de révision du classeur dans un environnement partagé.
- Saved : Indique si le classeur a été enregistré depuis la dernière modification.
- SaveLinkValues : Indique si les valeurs des liens sont enregistrées avec le classeur.
- SensitivityLabel : Renvoie ou définit l’étiquette de sensibilité associée au classeur, utilisée pour le marquage de la confidentialité.
- ServerPolicy : Renvoie l’objet
ServerPolicy
, qui représente les politiques de gestion des documents appliquées au classeur sur un serveur. - ServerViewableItems : Renvoie une collection des éléments du classeur visibles lorsque le document est publié sur un serveur.
- SharedWorkspace : Renvoie l’objet
SharedWorkspace
, utilisé pour collaborer sur des documents dans un espace de travail partagé (fonctionnalité obsolète). - Sheets : Renvoie une collection de toutes les feuilles (feuilles de calcul, de graphique, etc.) dans le classeur.
- ShowConflictHistory : Indique si l’historique des conflits est affiché dans un classeur partagé.
- ShowPivotChartActiveFields : Indique si les champs actifs du tableau croisé dynamique sont affichés dans les graphiques croisés dynamiques.
- ShowPivotTableFieldList : Indique si la liste des champs du tableau croisé dynamique est affichée.
- Signatures : Renvoie l’objet
Signatures
, utilisé pour gérer les signatures numériques dans le classeur. - SlicerCaches : Renvoie une collection des caches de segments (slicers) associés aux tableaux croisés dynamiques du classeur.
- SmartDocument : Renvoie l’objet
SmartDocument
, utilisé pour gérer les fonctionnalités de document intelligent dans le classeur (fonctionnalité obsolète). - Styles : Renvoie une collection de styles personnalisés utilisés dans le classeur.
- Sync : Renvoie l’objet
Sync
, utilisé pour synchroniser le classeur avec un espace de travail partagé. - TableStyles : Renvoie une collection de styles de tableau utilisés dans le classeur.
- TemplateRemoveExtData : Indique si les données externes doivent être supprimées lorsqu’un classeur basé sur un modèle est enregistré.
- Theme : Renvoie ou définit le thème de document appliqué au classeur.
- UpdateLinks : Indique la manière dont Excel gère les mises à jour des liens externes dans le classeur (automatique ou manuel).
- UpdateRemoteReferences : Indique si Excel met à jour les références externes lors du calcul des formules.
- UserStatus : Renvoie une matrice contenant des informations sur les utilisateurs qui ont ouvert un classeur partagé.
- UseWholeCellCriteria : Indique si Excel utilise des critères de correspondance de cellule entière lors de la recherche de données.
- UseWildcards : Indique si Excel utilise des caractères génériques lors de la recherche de données.
- VBASigned : Indique si le projet VBA du classeur est signé numériquement.
- VBProject : Renvoie l’objet
VBProject
associé au classeur, représentant le projet VBA contenu dans celui-ci. - WebOptions : Renvoie l’objet
WebOptions
, qui contrôle les options d’enregistrement du classeur en tant que page Web. - Windows : Renvoie une collection de toutes les fenêtres ouvertes associées au classeur.
- Worksheets : Renvoie une collection de toutes les feuilles de calcul dans le classeur.
- WritePassword : Renvoie ou définit le mot de passe requis pour enregistrer les modifications dans le classeur.
- WriteReserved : Indique si le classeur est réservé en écriture par un autre utilisateur.
- WriteReservedBy : Renvoie le nom de l’utilisateur qui a réservé le classeur en écriture.
- XmlMaps : Renvoie une collection de toutes les cartes XML dans le classeur.
- XmlNamespaces : Renvoie une collection des espaces de noms XML associés aux cartes XML du classeur.