Classe ListObjects (Excel VBA)
Collection de tous les objets ListObject d’une feuille de calcul. Pour utiliser une variable de classe ListObjects, elle doit d'abord être instanciée, par exemple
Dim los as ListObjects
Set los = ActiveSheet.ListObjects
For Each
Voici un exemple de traitement des éléments ListObjects dans une collection
Dim lstobj As ListObject
For Each lstobj In Application.ListObjects
Next lstobj
Add
Crée un objet de liste.
Si la liste comporte des en-têtes, la première ligne de cellules est convertie en Texte si ce n’est pas déjà le cas. Cette conversion est basée sur le texte visible pour la cellule. Cela signifie que, si une valeur de date avec un format Date est modifiée par les paramètres régionaux, la conversion en liste peut produire des résultats différents selon les paramètres régionaux du système. De plus, si deux cellules de la ligne d’en-têtes contiennent le même texte, un Entier incrémentiel y est ajouté de façon à ce que chaque en-tête soit unique.
Add (SourceType, Source, LinkSource, XlListObjectHasHeaders, Destination, TableStyleName)
Dim lstobj As ListObject
Set lstobj = ActiveSheet.ListObjects.Add
Arguments
Optional arguments
Les arguments suivants sont facultatifs
SourceType (XlListObjectSourceType) - Indique le type de source pour la requête.
Valeurs possibles sont
xlSrcExternal | Source de données externes (site Microsoft SharePoint Foundation). |
xlSrcModel | Modèle PowerPivot |
xlSrcQuery | Requête |
xlSrcRange | Plage |
xlSrcXml | XML |
Source (Range) - Lorsque TypeSource = xlSrcRange: objet Range représentant la source de données. Si cet argument est omis, la valeur par défaut de la source est la plage renvoyée par le code de détection de plage de liste. Lorsque TypeSource = xlSrcExternal: tableau de valeurs de chaîne spécifiant une connexion à la source, contenant les éléments suivants: 0 - URL d'un site SharePoint 1 - Nom de liste 2 - GUID d'affichage.
LinkSource (Boolean) - Indique si une source de données externe doit être liée à l'objet ListObject. Si TypeSource est xlSrcExternal, la valeur par défaut est true. Non valide si TypeSource est xlSrcRangeet renvoie une erreur s'il n'est pas omis.
XlListObjectHasHeaders (XlYesNoGuess) - Constante XlYesNoGuess qui indique si les données importées ont des étiquettes de colonne. Si la source ne contient pas d'en-tête, Excel génère automatiquement des en-têtes. Valeur par défaut: xlGuess.
Les valeurs de retour possibles sont xlGuess - Excel détermine s'il existe un en-tête. S'il en existe un, il détermine sa position, xlNo - Valeur par défaut, xlYes - La plage entière ne doit pas être triée.
Destination (XlListObjectSourceType) - Objet Plage spécifiant une référence de cellule unique en tant que destination pour l'angle supérieur gauche du nouvel objet de liste. Si l'objet Range fait référence à plusieurs cellules, une erreur est générée. L'argument destination doit être spécifié lorsque TypeSource est défini sur xlSrcExternal. L'argument destination est ignoré si TypeSource est défini sur xlSrcRange. La plage de destination doit se trouver sur la feuille de calcul qui contient la collection ListObjects spécifiée par expression. Les nouvelles colonnes seront insérées à la destination pour s'adapter à la nouvelle liste. Par conséquent, les données existantes ne sont pas supprimées.
Valeurs possibles sont
xlSrcExternal | Source de données externes (site Microsoft SharePoint Foundation). |
xlSrcModel | Modèle PowerPivot |
xlSrcQuery | Requête |
xlSrcRange | Plage |
xlSrcXml | XML |
TableStyleName (String) - Nom d'un TableStyle; par exemple, «TableStyleLight1».
Count
Cette propriété renvoie une valeur Integer qui représente le nombre d'objets de la collection.
Dim lngCount As Long
lngCount = ActiveSheet.ListObjects.Count
Item
Cette méthode renvoie un seul objet d'une collection.
Item (Index)
Index: Nom ou numéro d'index de l'objet.
Dim lstobjItem As ListObject
Set lstobjItem = ActiveSheet.ListObjects(Index:=1)