Sub test()
Dim mesColonnes, i&, j&
mesColonnes = Array(2, 13, 4, 11, 8, 15, 5, 12) ' pas forcément ordonné
For i = 0 To UBound(mesColonnes): Sheets("Feuil1").[a6].ListObject.ListColumns(Application.Large(mesColonnes, i + 1)).Delete: Next
End Sub
Sub SupprimerColonnes()
Dim ws As Worksheet
Dim tbl As ListObject
Dim arr As Variant
Dim i As Long
Set ws = ThisWorkbook.Sheets("Feuil1")
Set tbl = ws.ListObjects("Tableau1")
' Définir le tableau des colonnes à supprimer
arr = Array(15, 13, 12, 11, 8, 5, 4, 2)
' Boucle à travers le tableau pour supprimer les colonnes
For i = LBound(arr) To UBound(arr)
tbl.ListColumns(arr(i)).Delete
Next i
End Sub
Bonsoir,bonjour
Je cherche la méthode la plus rapide pour supprimer des colonnes discontinues B D E H K L M O dans un tableau structuré nommé Tableau1 de A6 :O16 en VBA.
Cordialement
Le tableau avant :
Regarde la pièce jointe 1195020
Le tableau après :
Regarde la pièce jointe 1195021
Sub SupprCol()
Dim i As Long
With Worksheets("Feuil1").ListObjects("Tableau1")
i = .ListColumns.Count
Do While i >= 1
If Left(.ListColumns(i).Name, 7) = "Colonne" Then
.ListColumns(i).Range.Delete
End If
i = i - 1
Loop
End With
End Sub
je met donc les colonnes désignées en évidencesupprimer des colonnes discontinues B D E H K L M O dans un tableau structuré nommé Tableau1
Sub test()
Dim col, colm&
col = Split("B D E H K L M O", " ")
For i = UBound(col) To 0 Step -1
colm = Cells(1, col(i)).Column
Sheets("Feuil1").[tableau1].ListObject.ListColumns(colm).Delete
Next
End Sub
Sub test()
Dim col, colm&, TbS
col = Split("B D E H K L M O", " ")
Set TbS = Sheets("Feuil1").[tableau1].ListObject
For i = UBound(col) To 0 Step -1
colm = Cells(1, col(i)).Column + (TbS.Range.Column - 1)
.ListColumns(colm).Delete
Next
End Sub
Sub test()
Dim mesColonnes, i&, j&
mesColonnes = Array(2, 13, 4, 11, 8, 15, 5, 12) ' pas forcément ordonné
For i = 0 To UBound(mesColonnes): Sheets("Feuil1").[a6].ListObject.ListColumns(Application.Large(mesColonnes, i + 1)).Delete: Next
End Sub