Clearcontent pour plage de colonnes d'un tableau

Bonjour à tous,

Désolé si ce sujet a déjà été traité, c'est que je n'ai pas dû trouver les bons mots-clés pour ma recherche.

J'ai un calculateur avec 86 onglets, chacun contenant un tableau. Je veux créer un bouton "réinitialiser calculateur" qui viderais les x premières colonnes de chaque tableau. Tous les tableaux n'ont pas le même nombre de colonne à vider (x différent pour chaque onglet), et les colonnes n'ont pas les mêmes en-têtes d'un tableau à l'autre.

Je souhaiterais donc, pour chaque onglet, pouvoir exécuter une commande dans l'esprit de :

Worksheets("Feuille").ListObjects("Tableau").colonnes 1 à x.DataBodyRange.ClearContents

Mais je ne sais pas s'il existe une fonction correspondant à ce colonnes 1 à x. Il faudra de toute façon que j'entre manuellement le x pour chaque onglet, mais si je dois rentrer des noms d'en-tête de colonne ça va devenir beaucoup plus compliqué...

Existe-t-il un moyen de faire cette action en une seule ligne de code ?

Merci d'avance !

Hello,

Dans chacun des onglets si ton x est renseigné on fait une boucle et c'est très rapide,

Est ce le cas ??

Ce n'est pas le cas mais de toute façon il va falloir que je le fasse d'une manière ou d'une autre. Mais à ce moment-là ne faut-il pas une boucle par onglet ?

Bonsoir,

De toute façon, il vous faudra 2 boucles imbriquées, comme ceci :

    Dim feuille As Worksheet
    Dim tableau As ListObject

    For Each feuille In ActiveWorkbook.Worksheets
        For Each tableau In feuille.ListObjects
            .........................................
        Next tableau
    Next feuille

Après, tout dépend de ce que voulez faire en termes de réinitialisation. Si toutes les colonnes doivent être vides, alors il faut supprimer toutes les lignes du tableau car un tableau structuré ne doit pas comporter de lignes vides. Une seule et même instruction est alors nécessaire :

tableau.DataBodyRange.Delete

Hello est ce que ca t'irait ?

7clean.xlsm (32.79 Ko)

Merci à tous pour les réponses, j'espérais vraiment qu'il existe une fonction du type

Worksheets("Feuille").ListObjects("Tableau").ListColums(1;...;x).DataBodyRange.ClearContents

Mais je dois bien me résigner à utiliser des boucles ^^

Merci à tous pour vos solutions !

Rechercher des sujets similaires à "clearcontent plage colonnes tableau"