Bonjour
Je recherche à supprimer plusieurs colonnes sur plusieurs feuilles de mon classeur à l'exception de la première feuille.
L'adresse des colonnes est donnée par les valeurs derlig (dernière ligne non vide) et dercol (dernière colonne non vide)
je souhaite supprimer dans la macro suivante les colonnes entre (1 et dercol +1), mais ca ne marche pas.
De plus je pense que cette macro est mal écrite et peut être optimisée.
Merci de vos solutions.
Voir fichier exemple ci joint
Je recherche à supprimer plusieurs colonnes sur plusieurs feuilles de mon classeur à l'exception de la première feuille.
L'adresse des colonnes est donnée par les valeurs derlig (dernière ligne non vide) et dercol (dernière colonne non vide)
je souhaite supprimer dans la macro suivante les colonnes entre (1 et dercol +1), mais ca ne marche pas.
Code:
Sub Synth_hemato()
Dim i, derlig, dercol As Long
derlig = Range("A65226").End(xlUp).Row
dercol = Range("IV1").End(xlToLeft).Column
ActiveWorkbook.Sheets.Add After:=Worksheets(Worksheets.Count)
Sheets(Worksheets.Count).Name = "GB"
Sheets(1).Cells.Copy Sheets("GB").Columns(1)
Cells(1, dercol + 1).Value = "Analyte"
Cells(2, dercol + 1).Value = "Globules Blancs (Leucocytes)"
Range("A1", Cells(derlig, dercol)).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
Cells(1, dercol + 1), Cells(2, dercol + 1)), CopyToRange:=Cells(1, dercol + 2), Unique:=False
'ca ne marche pas
Columns(1, dercol + 1).Delete
ActiveWorkbook.Sheets.Add After:=Worksheets("GB")
Sheets(Worksheets.Count).Name = "GR"
Sheets(1).Cells.Copy Sheets("GR").Columns(1)
Cells(1, dercol + 1).Value = "Analyte"
Cells(2, dercol + 1).Value = "Hématies (Globules Rouges)"
Range("A1", Cells(derlig, dercol)).AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
Cells(1, dercol + 1), Cells(2, dercol + 1)), CopyToRange:=Cells(1, dercol + 2), Unique:=False
'ca ne marche pas
Columns(1, dercol + 1).Delete
End Sub
De plus je pense que cette macro est mal écrite et peut être optimisée.
Merci de vos solutions.
Voir fichier exemple ci joint