Bonjour
J'ai un fichier qui possède plusieurs centaines de colonnes ; chaque colonne correspond à un individu, des données numériques étant listées pour chaque individu.
J'aimerai créer un autre fichier qui ne contiendrait que les données numériques supérieures à un certain seuil (renseigné par l'utilisateur).
J'ai commencé à écrire ce script :
- je filtre la première colonne pour n'afficher que les données supérieures au seuil,
- je copie les données filtrées de la première colonne vers la première colonne du nouveau fichier ;
- puis je recommence pour la deuxième colonne, etc.
Mais j'ai une erreur d'exécution 1004 pour la ligne :
Workbooks("exemple.xlsm").Sheets(1).Range(Cells(1, i), Cells(1, i).End(xlDown)).SpecialCells(xlCellTypeVisible).Copy _
Destination:=Workbooks("Filtre_80.xlsx").Sheets(1).Cells(1, i).
D'où vient cette erreur ?
Merci par avance
J'ai un fichier qui possède plusieurs centaines de colonnes ; chaque colonne correspond à un individu, des données numériques étant listées pour chaque individu.
J'aimerai créer un autre fichier qui ne contiendrait que les données numériques supérieures à un certain seuil (renseigné par l'utilisateur).
J'ai commencé à écrire ce script :
- je filtre la première colonne pour n'afficher que les données supérieures au seuil,
- je copie les données filtrées de la première colonne vers la première colonne du nouveau fichier ;
- puis je recommence pour la deuxième colonne, etc.
Mais j'ai une erreur d'exécution 1004 pour la ligne :
Workbooks("exemple.xlsm").Sheets(1).Range(Cells(1, i), Cells(1, i).End(xlDown)).SpecialCells(xlCellTypeVisible).Copy _
Destination:=Workbooks("Filtre_80.xlsx").Sheets(1).Cells(1, i).
PHP:
Sub test()
Dim nb_filtre As Integer
Dim new_name As String
Tb_c = Range("IV1").End(xlToLeft).Column
nb_filtre = InputBox("Entrer la valeur seuil", "Filtre petites tailles")
Dir_save = ActiveWorkbook.Path
Application.DefaultSaveFormat = xlWorkbookDefault
Application.Workbooks.Add
new_name = Dir_save & "\Filtre_" & nb_filtre & ".xlsx"
ActiveWorkbook.SaveAs Filename:=new_name
For i = 1 To Tb_c
Workbooks("exemple.xlsm").Sheets(1).AutoFilterMode = False
Workbooks("exemple.xlsm").Sheets(1).Range("A1:IV60000").AutoFilter Field:=i, Criteria1:=">" & nb_filtre, Operator:=xlAnd
Workbooks("exemple.xlsm").Sheets(1).Range(Cells(1, i), Cells(1, i).End(xlDown)).SpecialCells(xlCellTypeVisible).Copy _
Destination:=Workbooks("Filtre_80.xlsx").Sheets(1).Cells(1, i)
Next
End Sub
D'où vient cette erreur ?
Merci par avance
Pièces jointes
Dernière édition: