Si la(les) colonne(s) sont fixes:
Sub supp_col_fixe()
Dim CHEMIN As String
Dim FICHIER As String
Dim COMPIL As String
Dim NBCARACT As Integer
Dim LONGUEUR As Integer
Application.ScreenUpdating = True
COMPIL = ActiveWorkbook.Name
NBCARACT = Len(COMPIL)
CHEMIN = Left(ActiveWorkbook.FullName, Len(ActiveWorkbook.FullName) - NBCARACT)
ChDir CHEMIN
FICHIER = Dir(CHEMIN & "*.*")
Do While FICHIER <> ""
If FICHIER <> "." And FICHIER <> ".." And FICHIER <> COMPIL Then
Workbooks.Open Filename:=CHEMIN & FICHIER
nj = (WorksheetFunction.CountA(Columns("a:a")))
If nj = 0 Then
Range("A:A").Delete
End If
End If
FICHIER = Dir
Loop
End Sub
si les colonnes sont parametrables (lister les colonnes dans la colonnes G du fichier modele à partir de la ligne 2):
Sub supp_liste_col_G()
Dim CHEMIN As String
Dim FICHIER As String
Dim COMPIL As String
Dim NBCARACT As Integer
Dim LONGUEUR As Integer
Dim COLONNE As String
Application.ScreenUpdating = True
nb = (WorksheetFunction.CountA(Columns("G:G")))
For i = 2 To nb
If Range("G" & i).Value <> "" Then
COLONNE = Range("G" & i).Value & ":" & Range("G" & i).Value
COMPIL = ActiveWorkbook.Name
NBCARACT = Len(COMPIL)
CHEMIN = Left(ActiveWorkbook.FullName, Len(ActiveWorkbook.FullName) - NBCARACT)
ChDir CHEMIN
FICHIER = Dir(CHEMIN & "*.xls")
Do While FICHIER <> ""
If FICHIER <> "." And FICHIER <> ".." And FICHIER <> COMPIL Then
Workbooks.Open Filename:=CHEMIN & FICHIER
nj = (WorksheetFunction.CountA(Columns(COLONNE)))
If nj = 0 Then
Range(COLONNE).Delete
End If
ActiveWorkbook.Close SaveChanges:=yes
End If
FICHIER = Dir
Loop
End If
Next
End Sub