Supprimer des colonnes dans un fichier de 65 000 lignes

kenavo

XLDnaute Junior
Bonjour,

Je reviens vers vous pour un petit soucis de performance d' une macro
Je souhaite supprimer des colonnes dans une fichier de 65 000 lignes
le code marche très bien sur un petit fichier mais sur le gros , c'est très lent

Voici la macro

Code:
Sub SupCol()
x = InputBox("Numero de la colonne : 1= A; 2=B ...")
    Columns(Val(x)).Delete Shift:=xlToLeft
End Sub

Merci pour vote aide
 

Habitude

XLDnaute Accro
Re : Supprimer des colonnes dans un fichier de 65 000 lignes

Sub SupCol()

Application.ScreenUpdating = False
x = InputBox("Numero de la colonne : 1= A; 2=B ...")
Columns(Val(x)).Delete Shift:=xlToLeft
Application.ScreenUpdating = True

End Sub
 

MJ13

XLDnaute Barbatruc
Re : Supprimer des colonnes dans un fichier de 65 000 lignes

Bonjour

Il serait bien de préciser ta version d'Excel, le type de fichier (xls, xlsx, xlsm), le temps que cela met, voire, un extrait de ton fichier sans donnés confidentielles, si il y a des filtres sur ta feuilles ou des lignes ou colonnes masquées.
 

kenavo

XLDnaute Junior
Re : Supprimer des colonnes dans un fichier de 65 000 lignes

Pardon
Je suis avec Excel 2003
Non, il n' y a pas de filtre , toutes les données sont visibles
Le fichier fait 15 mo

Avec le code de habitude, cela à pris 5 min

Merci
 

kenavo

XLDnaute Junior
Re : Supprimer des colonnes dans un fichier de 65 000 lignes

Non aucune formule
14 colonnes et 65450 lignes

Je fait faire autrement, je fait appliquer un filtre auto et copier les données que je veux dans une nouvelle feuille
 
Dernière édition:

job75

XLDnaute Barbatruc
Re : Supprimer des colonnes dans un fichier de 65 000 lignes

Bonjour kenavo, salut Habitude, Michel,

Non aucune formule
14 colonnes et 65450 lignes

J'ai créé un fichier avec un tableau de cette taille, (les valeurs étant toutes identiques c'est vrai).

Il fait 14 Mo, mais l'exécution de la macro est immédiate :confused:

La macro un peu améliorée, mais ça ne change rien :

Code:
Sub SupCol()
Dim x$
On Error Resume Next
1 x = InputBox("Numero de la colonne : 1= A; 2=B ...")
Columns(Val(x)).Delete
If x <> "" And Err Then GoTo 1
End Sub

A+
 

kenavo

XLDnaute Junior
Re : Supprimer des colonnes dans un fichier de 65 000 lignes

Merci job75
Cela fonctionne parfaitement

Merci à tous pour votre aide

En fait, j' ai honte j' avais un filtre, en le retirant : plus de problème
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 229
Messages
2 086 423
Membres
103 206
dernier inscrit
diambote