suppression colonne : code VBA trop long à exécuter

C@thy

XLDnaute Barbatruc
Bonjour le forum,

je voudrais supprimer toutes les colonnes (à partir de la colonne N) dont la date en ligne 2 est inférieure à aujourd'hui - 30 jours
j'ai écrit ceci : (pensant que c'était bien:eek::eek:)

Code:
Sub SupprimeColonnes()
dercol = [IV1].End(xlToLeft).Column
Range(Cells(2, 14).Address & ":" & Cells(2, dercol).Address).Select
For Each c In Selection
If IsEmpty(c.Value) Then Exit Sub ' vide = après la dernière colonne
If c.Value < Date - 30 Then
    c.EntireColumn.Delete
End If

mais ça rame comme c'est pas possible et ça ne marche pas vraiment...:rolleyes:

Auriez-vous une idée de code plus efficace???

Merci à vous:)

Bises

C@thy
 

Papou-net

XLDnaute Barbatruc
Re : suppression colonne : code VBA trop long à exécuter

Bonjour C@thy,

Essaies comme ceci, voir si ça va mieux :

Code:
Sub SupprimeColonnes()
Application.Screenupdating = False
For Each c In range("N2:IV2").SpecialCells(xlCellTypeConstants)
  If c.Value < Date - 30 Then c.EntireColumn.Delete
Next
Application.Screenupdating = True
End If

A +

Bises.
 
Dernière édition:

Pierrot93

XLDnaute Barbatruc
Re : suppression colonne : code VBA trop long à exécuter

Bonjour Cathy:),

pour les colonnes comme pour les lignes quand tu veux en supprimer préférable de commencer par la fin et remonter, au cas ou 2 fois de suite la condition est vérifiée... essaye peut être avec ceci :
Code:
Option Explicit
Sub SupprimeColonnes()
Dim c As Long, dercol As Long
dercol = [IV1].End(xlToLeft).Column
For c = dercol To 14 Step -1
    If Cells(2, c) < Date - 30 Then Columns(c).Delete
Next c
End Sub

bon après midi
@+

Edition : bonjour Papou
 

Efgé

XLDnaute Barbatruc
Re : suppression colonne : code VBA trop long à exécuter

Re,
Il y a quand même une grosse bétise :eek: dont je suis coutumier..
Il faut remetre le calcul en automatique à la fin du code :)
VB:
Application.Calculation =xlCalculationAutomatic
Désolé

Cordialement
 

Discussions similaires

Réponses
7
Affichages
419

Statistiques des forums

Discussions
312 084
Messages
2 085 194
Membres
102 813
dernier inscrit
kaiyi