For each... RàZ tableaux - Excel VBA

Bonjour à tous,

Petite question d'ordre technique : auriez vous une méthode simple pour supprimer toutes les lignes de tous les tableaux de toutes les feuilles de mon classeur (RàZ des données du fichier quoi) ? Je pense à la formulation "For each" mais je ne sais absolument pas comment l'utiliser..

Merci d'avance !

Bien cordialement,

Florian

Bonjour

Sans ton fichier, ce sera difficile !

Bye !

Hello

Pour effacer tous les contenus de tous tes onglets tu peux utiliser la macro suivante

Sub Macro1()

For Each sheet In Sheets
    sheet.Activate
    ActiveSheet.Cells.Select
    Selection.ClearContents
Next sheet

End Sub

Bonjour, une solution sans macro, supprimer le classeur puis en recréer un autre

Bonsoir,

Une proposition pour peu que tu utilises des tableaux (mettre sous la forme de tableau).

Cdlt.

Option Explicit

Public Sub DEMO()
Dim ws As Worksheet
Dim lo As ListObject
Dim modeCalc As XlCalculation

    With Application
        modeCalc = .Calculation
        .Calculation = xlCalculationManual
        .EnableEvents = False
        .ScreenUpdating = False
    End With

    For Each ws In ActiveWorkbook.Worksheets
        For Each lo In ws.ListObjects
            ' redimensionne le tableau en conservant les formules
            If Not lo.DataBodyRange Is Nothing Then lo.DataBodyRange.Delete
        Next lo
    Next ws

    With Application
        .Calculation = modeCalc
        .EnableEvents = True
    End With

End Sub

Merci beaucoup Jean-Eric, c'est exactement ce qu'il me fallait, supprimer les lignes des tableaux en tant qu'objet (pas effacer absolument tout partout). Ta macro fonctionne parfaitement, je vais la garder dans un coin elle me resservira souvent !

Je commence à comprendre comment fonctionne le "For Each", c'est en effet un outil puissant et flexible !

Bien à vous,

Florian.

Rechercher des sujets similaires à "each raz tableaux vba"