Vider plusieurs objets tableaux

Bonjour,

J'essaie de trouver le moyen de réinitialiser des tableaux nommés à) travers du code VBA.

Je suis parvenu à l'appliquer sur un mais je voudrais le faire sur plusieurs. Après moultes tentatives je parviens à une erreur récurrente : "incompatibilité de type".

Je me dis que je n'utilise peut-être pas la bonne méthode.

Voici ce que j'ai fait :

Private Sub Workbook_Open()

Dim table As Range

    For Each table In ThisWorkbook.Worksheets
        If Not table.ListObject.DataBodyRange Is Nothing Then table.ListObject.DataBodyRange.Delete
    Next

End Sub

En fait la seule partie variable de ce que je veux faire est le nom des tableaux positionnés sur différentes feuilles.

If Not Range("tab_client").ListObject.DataBodyRange Is Nothing Then Range("tab_client").ListObject.DataBodyRange.Delete

Merci de votre aide!

Bonjour,

Essaie ainsi pour réinitialiser l'ensemble des tableaux (tables) :

Option Explicit

Private Sub Workbook_Open()
Dim ws As Worksheet, lo As ListObject
    For Each ws In ThisWorkbook.Worksheets
        For Each lo In ws.ListObjects
            If Not lo.DataBodyRange Is Nothing Then lo.DataBodyRange.Delete
        Next
    Next
End Sub

Whaaaa!

Ca marche! je savais que je n'avais pas la bonne méthode!

tu as une astuce pour se souvenir de la logique?

Un gros merci!!

Re,

Apprends par cœur la procédure. Il y a 6 lignes !...

Cdlt.

Rechercher des sujets similaires à "vider objets tableaux"