Bonjour à tous,
Je souhaiterais que ma macro s'applique à la feuille sur laquelle je travaille actuellement.
Etant donné que je vais utiliser cette macro avec d'autres, je vais à chaque fois faire des imports de données, ce qui ouvrira d'autres feuilles et le nom de la feuille active ne correspondra donc plus avec celui que vous avez mis dans votre code.
Sub SupColonnes()
Dim dCol As Long, Col As Long
Dim tColSup, Flg As Boolean
' Liste des colonnes à supprimer
tColSup = Split("Civilité,Age,Ville,Entreprise", ",")
' Avec la feuille
With Sheets("Sheet1")
' Dernière colonne
dCol = .Cells(1, Columns.Count).End(xlToLeft).Column
' Pour chaque colonne
For Col = dCol To 1 Step -1
' Vérifier si nom de colonne trouvé dans celles à supprimer
Flg = Not IsError(Application.Match(.Cells(1, Col).Value, tColSup, 0))
' Si c'est le cas on supprime
If Flg Then .Cells(1, Col).EntireColumn.Delete Shift:=xlToLeft
Next Col
End With
End Sub
J'ai essayé en enlevant With ActiveSheet.Select ou en le remplaçant par ActiveSheet.Select mais ça ne fonctionne pas.
Une idée ?
Merci d'avance pour votre aide
Loïc