re
Je dois juste encore "jouer" pour les colonnes a effacer ou pas, mais je pense y arriver en modifiant les lignes après le "dcol = "
Non si vous voulez changer les colonnes à supprimer, vous devez le faire dans les les lettres deux lignes Range.... en dessous de dcol =.cells(......
Juste pour mon info personnelle, quel est la différence entre les 2 lignes "dcol =" proposées?
Simplement que dans le code précédent j'imposais la ligne 2 dans la ligne dcol= .cells(2,...
Comme votre tableau est au format structuré, on peut remplacer le 2 par l'instruction Headerrowrange qui représente la ligne de titre de votre tableau structuré.
L'avantage est que si par exemple vous insérez une ligne en ligne 1 de votre feuille, les titres du tableau seront placés en ligne 3. Dans ce cas vous devriez adapter la ligne dcol = .cells(2, .... par dcol = .cells(3, .....
En remplaçant le 2 par Headerrowrange, le code le verra automatiquement la nouvelle ligne de titre (donc 3 dans mon exemple)
Vous comprenez ?
Par contre il faudra changer les lettres dans les lignes Range. Je vais regardez ce point et vous donner l'adaptation
Cordialement
Edit : Voici ce que vous devez faire
1. En dessous de la ligne Dim dcol as string, ajoutez ceci
Dim lig As Byte
2. Remplacez les deux lignes Range(K2 ...... et Range ("F2:H2.....) par ces trois lignes
lig = .ListObjects(1).HeaderRowRange.Row
.Range("K" & lig & ":" & dcol).EntireColumn.Delete
.Range("F" & lig & ":H" & lig).EntireColumn.Delete
Important : si vous changez les lignes vous devez toujours veiller à commencer par la colonne plus à droite (donc ici K) et finir par la colonne la plus à gauche sur votre feuille