temps exécution macro trop long (suppresion de ligne dans un tableau sous condition)

Adeus33

XLDnaute Occasionnel
Bonjour à toutes et à tous,

Je souhaite supprimer par macro toutes les lignes d'un tableau excel si "?" est inscrit dans la colonne 6 (voir fichier joint, ce sera bien plus clair ^^ (le bouton de la macro se situe en Feuil 2).)

J'ai réussi à le faire avec un boucle "for" mais le problème est que la macro met pas mal de temps (mon tableau fait plusieurs 1000 de lignes).

Connaissez vous une autres méthodes me permettant de faire la même chose en diminuant le temps d'éxécution?

Merci d'avance pour votre aide et bonne journée.

Adeus
 

Pièces jointes

  • macro.xlsm
    47.8 KB · Affichages: 59
  • macro.xlsm
    47.8 KB · Affichages: 64
  • macro.xlsm
    47.8 KB · Affichages: 60

Coubnoob

XLDnaute Nouveau
Re : temps exécution macro trop long (suppresion de ligne dans un tableau sous condit

Bonjour,

Commence par : Application.ScreenUpdating = False

et fini par : Application.ScreenUpdating = True

dans ton VBA.

Comme ça tu enlève l'affichage pendant le déroulement de ta macro (tu gagneras déjà beaucoup)

Voila
Bon courage ;)
 

Adeus33

XLDnaute Occasionnel
Re : temps exécution macro trop long (suppresion de ligne dans un tableau sous condit

Bonjour et merci Coubnoob,

C'est vrai que j'ai oublié de le mettre de le fichier exemple que j'ai posté (mais il est déjà présent dans mon fichier original).

Le problème est que je dois traiter plus de 22000 lignes et que ca prend plusieurs minutes malgrès le fait que l'affichage est désactivée.

Voila, si vous avez d'autres idées, je suis preneur.

Bonne fin de journée.

Adeus
 

Adeus33

XLDnaute Occasionnel
Re : temps exécution macro trop long (suppresion de ligne dans un tableau sous condit

Bonjour et merci pour votre aide.

J'ai testé les deux solutions est effectivement cela me fait gagner beaucoup de temps.

Encore merci
 

Discussions similaires

Statistiques des forums

Discussions
312 435
Messages
2 088 398
Membres
103 839
dernier inscrit
Patounet66