Recherche liste des tableaux contenus dans une feuille

Bonjour,

J'ai commencé par ceci :

Sub RechercheTableau()

Dim objet As Object

For Each objet In ActiveSheet.ListObjects
    Debug.Print objet.Name
Next

End Sub

Comment détecter si l'objet est bien un tableau ?

Salut Steelton,

Ton code, relié au bouton 1 dans le fichier ci-joint et complété avec un MsgBox ne reconnait que les Tableaux et non pas les Formes ni les Boutons.

Quels objets as-tu peur que soit détecter et qui ne soit pas un tableau ? Si un tel objet existait, ne serait-il pas possible d’utiliser le nom de tableaux qui commencent pas ‘’Tableau’’ afin de ne traiter que les tableaux ?

Cordialement.

96steelson.zip (11.98 Ko)

Bonjour,

Quel est l'objectif ?

Public Sub DEMO()
Dim lo As ListObject

    For Each lo In ActiveSheet.ListObjects
Debug.Print lo.Name
    Next

End Sub

Merci

Vous m'avez donc confirmé que seuls les tableaux étaient récupérés.

Mon objectif est de compiler plusieurs fichiers provenant de différents établissements comportant chacun une bonne dizaine d'onglets ! Et je voulais écrire le code proprement.

Cela m'étonnait qu'un nom aussi générique que ActiveSheet.ListObjects ne concerne que les tableaux ! je craignais de me ramasser d'autres objets (noms, images, ...)

C'est donc surtout ceci qui m'intéresse :

ActiveSheet.ListObjects(1).DataBodyRange

MsgBox ActiveSheet.ListObjects(1).ListRows.Count
MsgBox ActiveSheet.ListObjects(1).ListColumns.Count
MsgBox ActiveSheet.ListObjects(1).DataBodyRange.Cells(1, 1)
MsgBox ActiveSheet.ListObjects(1).DataBodyRange.Cells(ActiveSheet.ListObjects(1).ListRows.Count, ActiveSheet.ListObjects(1).ListColumns.Count)

Bonjour Steelson,

Une personne qui s'intéresse aux tableaux et sous VBA,, cela mérite une petite aide.

Je te propose ce classeur qui m'a été très utile, il y a quelques temps déjà.

Si tu as des questions particulières, n'hésite pas.

Que veux tu faire avec ?

MsgBox ActiveSheet.ListObjects(1).DataBodyRange.Cells(ActiveSheet.ListObjects(1).ListRows.Count, ActiveSheet.ListObjects(1).ListColumns.Count)

Cdlt.

Merci Jean-Eric,

en fait j'ai juste utilisé ceci ActiveSheet.ListObjects(1).DataBodyRange.Copy

cela m'a simplifié le sujet que je traitais

la formule du dessus était juste un exercice de style


Merci pour ce petit bijou !

Rechercher des sujets similaires à "recherche liste tableaux contenus feuille"