Vue d'ensemble du modèle objet Excel

Mise à jour : novembre 2007

S'applique à

Les informations de cette rubrique s'appliquent uniquement aux projets Visual Studio Tools pour Office et versions de Microsoft Office spécifiés.

Type de projet

  • Projets au niveau du document

  • Projets au niveau de l'application

Version de Microsoft Office

  • Excel 2003

  • Excel 2007

Pour plus d'informations, consultez Fonctionnalités disponibles par type d'application et de projet.

Pour développer des solutions qui utilisent Microsoft Office Excel, vous pouvez interagir avec les objets fournis par le modèle objet Excel. Cette rubrique présente les classes les plus importantes :

Le modèle objet suit étroitement l'interface utilisateur. L'objet Application représente l'application entière et chaque objet Workbook contient une collection d'objets Worksheet. À partir de là, l'abstraction principale représentant les cellules est l'objet Range, qui vous permet d'utiliser des cellules individuelles ou des groupes de cellules.

Visual Studio Tools pour Office étend également un grand nombre de ces objets natifs en éléments hôtes et en contrôles hôtes que vous pouvez utiliser dans des personnalisations au niveau du document. Ces contrôles présentent d'autres fonctionnalités, notamment la liaison de données et les événements. Par exemple, un objet Microsoft.Office.Interop.Excel.Range Excel natif est étendu en contrôle Microsoft.Office.Tools.Excel.NamedRange pouvant être lié à des données et exposant des événements. Pour plus d'informations sur les éléments hôtes et les contrôles hôtes, consultez Objets étendus dans les projets au niveau du document.

Cette rubrique propose une vue d'ensemble succincte du modèle objet Excel. Pour obtenir la liste des ressources fournissant des informations complémentaires sur le modèle objet Excel complet, consultez Utilisation de la documentation du modèle objet Excel.

Lorsque vous créez un projet au niveau de l'application pour Excel avec Visual Studio Tools pour Office, Visual Studio crée automatiquement un fichier de code ThisAddIn.vb ou ThisAddIn.cs. Vous pouvez accéder à l'objet Application avec Me.Application ou this.Application.

Lorsque vous créez un projet au niveau du document pour Excel en utilisant Visual Studio Tools pour Office, vous avez la possibilité de créer un nouveau classeur ou projet de modèle Excel. Visual Studio Tools pour Office crée automatiquement les fichiers de code suivants dans votre nouveau projet Excel à la fois pour le classeur et les projets de modèle.

Visual Basic

C#

ThisWorkbook.vb

ThisWorkbook.cs

Sheet1.vb

Sheet1.cs

Sheet2.vb

Sheet2.cs

Sheet3.vb

Sheet3.cs

Vous pouvez utiliser la classe globale, Globals, pour accéder à ThisWorkbook, Sheet1, Sheet2 ou Sheet3 depuis l'extérieur de la classe respective. Pour plus d'informations, consultez Accès global aux objets dans les projets Visual Studio Tools pour Office. L'exemple suivant appelle la méthode PrintPreview de Sheet1, indépendamment du code placé dans la classe Sheet ou Workbook :

Globals.Sheet1.PrintPreview(missing);


Comme les données dans un document Excel sont hautement structurées, le modèle objet est hiérarchique et simple. Excel fournit des centaines d'objets avec lesquels il vous sera possible d'interagir, mais pour prendre un bon départ avec le modèle objet, il vous suffit de vous concentrer sur un très petit sous-ensemble des objets disponibles. Ces objets incluent les quatre éléments suivants :

  • Application

  • Classeur

  • Feuille de calcul

  • Portée

La majeure partie du travail effectué avec Excel tourne autour de ces quatre classes et de leurs membres.

Objet Application

L'objet Application d'Excel représente l'application Excel. L'objet Application contient une grande quantité d'informations sur l'exécution de l'application, les options appliquées à cette instance et les objets de l'utilisateur actuel ouverts dans l'instance.

wss56bz7.alert_note(fr-fr,VS.90).gifRemarque :

Vous ne devez pas attribuer la valeur false à la propriété EnableEvents de l'objet Application dans Excel. Si cette propriété a la valeur false, Excel ne peut pas déclencher d'événements, y compris les événements de contrôles hôtes.

Workbook, objet

La classe Microsoft.Office.Interop.Excel.Workbook représente un classeur unique dans l'application Excel.

Visual Studio Tools pour Office étend l'objet Microsoft.Office.Interop.Excel.Workbook en fournissant la classe Microsoft.Office.Tools.Excel.Workbook, qui vous donne accès à tous les membres de la collection Workbooks, ainsi qu'à des fonctionnalités de liaison de données et des événements supplémentaires.

Worksheet, objet

L'objet Microsoft.Office.Interop.Excel.Worksheet est membre de la collection Worksheets. La plupart des propriétés, méthodes et événements de Microsoft.Office.Interop.Excel.Worksheet sont strictement identiques, ou similaires, aux membres fournis par les classes Application ou Microsoft.Office.Interop.Excel.Workbook.

Excel fournit une collection Sheets comme propriété d'un objet Microsoft.Office.Interop.Excel.Workbook, mais il n'y a pas de classe Sheet dans Excel. À la place, chaque membre de la collection Sheets est un objet Microsoft.Office.Interop.Excel.Worksheet ou Microsoft.Office.Interop.Excel.Chart.

Pour une personnalisation au niveau du document, Visual Studio Tools pour Office fournit un élément hôte Microsoft.Office.Tools.Excel.Worksheet et crée trois instances dans les nouveaux projets : Sheet1, Sheet2et Sheet3. L'accès à chacune des feuilles peut se faire à travers la référence Globals. Visual Studio Tools pour Office étend l'objet Microsoft.Office.Interop.Excel.Worksheet, et fournit l'élément hôte Microsoft.Office.Tools.Excel.Worksheet.

Objet Range

L'objet Microsoft.Office.Interop.Excel.Range est l'objet que vous utiliserez le plus fréquemment dans vos applications Excel. Avant de pouvoir manipuler une zone dans Excel, vous devez la spécifier comme étant un objet Range et travailler avec les méthodes et les propriétés de ce dernier. Un objet Range représente une cellule, une ligne, une colonne, une sélection de cellules contenant un ou plusieurs blocs de cellules (qui peuvent être contigus ou non) ou encore un groupe de cellules sur plusieurs feuilles.

Pour une personnalisation au niveau du document, Visual Studio Tools pour Office introduit deux contrôles hôtes de plage : Microsoft.Office.Tools.Excel.NamedRange et Microsoft.Office.Tools.Excel.XmlMappedRange. Pour plus d'informations sur les contrôles hôtes, consultez Vue d'ensemble des éléments hôtes et des contrôles hôtes.

Il est important de comprendre les différences entre les objets natifs fournis par le modèle objet Excel et les objets étendus (éléments hôtes et contrôles hôtes) fournis par Visual Studio Tools pour Office. Ces deux types d'objets sont disponibles pour les projets au niveau du document.

Les différences concernent les quatre points suivants :

  • Au moment du design. Lorsque vous ajoutez des objets Excel étendus au moment du design, ils sont créés automatiquement sous la forme d'éléments hôtes et de contrôles hôtes. Par exemple, si vous ajoutez une liste à une feuille de calcul dans le concepteur, le code est automatiquement généré pour étendre la liste en contrôle Microsoft.Office.Tools.Excel.ListObject.

  • Au moment de l'exécution. Les éléments hôtes ne sont pas automatiquement créés au moment de l'exécution. Si vous ajoutez des classeurs, des feuilles de calcul ou des feuilles de graphique au moment de l'exécution, ils sont des objets Excel natifs et ne disposent pas des fonctions supplémentaires fournies par les éléments hôtes. Vous pouvez ajouter par programme un grand nombre de contrôles hôtes. Pour plus d'informations, consultez Vue d'ensemble des éléments hôtes et des contrôles hôtes.

  • Liaison de données et événements. Les éléments hôtes et contrôles hôtes comportent des fonctionnalités de liaison de données et des événements dont les objets natifs ne disposent pas.

  • Types. Les objets Excel natifs utilisent les types définis dans l'espace de noms Microsoft.Office.Interop.Excel, alors que les éléments hôtes et contrôles hôtes utilisent les types regroupés en agrégats définis dans l'espace de noms Microsoft.Office.Tools.Excel.

Pour plus d'informations sur les classes que vous pouvez utiliser dans le modèle objet Excel, consultez les documentations suivantes :

Le premier lien fournit des informations sur les classes et interfaces de l'assembly PIA (Primary Interop Assembly) pour Excel. Les autres liens proposent des informations sur le modèle objet Excel tel qu'il est exposé au code VBA (Visual Basic pour Applications). Chaque documentation présente des avantages et des inconvénients pour les développeurs qui utilisent Visual Studio Tools pour Office.

Référence d'assembly PIA

Cette documentation décrit tous les types de l'assembly PIA Excel que vous pouvez utiliser dans des projets Visual Studio Tools pour Office. Elle présente toutefois les inconvénients suivants :

  • Elle décrit uniquement les types de l'assembly PIA pour Excel 2003. Pour obtenir des descriptions des nouveaux types et membres de l'assembly PIA pour Excel 2007, vous devez consulter la référence VBA pour Excel 2007.

  • Elle ne contient actuellement pas d'exemples de code.

Référence VBA

Tous les objets et membres de la référence VBA correspondent à des classes et des membres de l'assembly PIA que vous utilisez dans des projets Visual Studio Tools pour Office. Par exemple, l'objet Worksheet dans la documentation VBA d'Excel correspond à la classe Microsoft.Office.Interop.Excel.Worksheet dans l'assembly PIA (Primary Interop Assembly).

La référence VBA présente les avantages suivants :

  • Elle documente les modèles objet d'Excel 2007 et 2003.

  • Elle propose des exemples de code pour la plupart des membres.

La référence VBA présente les inconvénients suivants :

  • Elle fournit des exemples de syntaxe et de code uniquement pour VBA. Pour utiliser les exemples de code dans un projet Visual Studio Tools pour Office, vous devez traduire le code VBA en Visual Basic ou Visual C#.

Types supplémentaires dans les assemblys PIA

Les assemblys PIA contiennent de nombreux types non disponibles dans VBA. Ces types supplémentaires permettent de convertir des objets du modèle objet COM d'Excel en code managé. Ils ne sont pas conçus pour être utilisés directement dans votre code.

Pour plus d'informations, consultez Overview of Classes and Interfaces in the Office Primary Interop Assemblies.

Ajouts de la communauté

Afficher: