De façon réguiière je dois traiter des fichiers sources contenants un grand nombre de colonnes, je souhaiterais faire une petite macro pour ne garder que les colonnes qui m'intéressent. Le but étant de standardiser ce fichier afin de pouvoir traiter les données par après.
En faisant quelques recherches, j'ai trouvé un petit morceau de code qui me parait répondre à ma demande :
Code : Tout sélectionner
Sub deleteIrrelevantColumns()
Dim currentColumn As Integer
Dim columnHeading As String
ActiveSheet.Columns("L").Delete
For currentColumn = ActiveSheet.UsedRange.Columns.Count To 1 Step -1
columnHeading = ActiveSheet.UsedRange.Cells(1, currentColumn).Value
'CHECK WHETHER TO KEEP THE COLUMN
Select Case columnHeading
Case "NomClient", "Devise", "Name", "Client", "Product"
'Do nothing
Case Else
'Delete if the cell doesn't contain "Homer"
If Instr(1, _
ActiveSheet.UsedRange.Cells(1, currentColumn).Value, _
"Homer",vbBinaryCompare) = 0 Then
ActiveSheet.Columns(currentColumn).Delete
End If
End Select
Next
End Sub
Je suis débutant et à mon avis la réponse est assez simple, quand je fais tourner la macro, j'ai la partie :BASIC runtime error.
Object variable not set.
ActiveSheet.Columns("L").Delete qui s'affiche en surbrillance.
Quelqu'un pourrait-il me donner un coup de main sur se problème?
Merci!