A
Arsène_Lupin
Guest
Bonjour,
J'ai une macro qui filtre une base de données, en masquant les enregistrements non concernés par une recherche.
Je souhaite supprimer ces lignes masquées. J'ai donc fait une boucle For...To...Next:
For i=4 to DerListing
if rows(i).hidden=true then rows(i).delete shift:=xlup
next i
Cette boucle met 4 minutes pour traiter 888 lignes!!!
Ca vient de la commande "delete qui est très lente, car si je met autre chose dans la boucle (ex: if rows(i).hidden=true then rows(i).hidden=false) la macro s'éxécute instantanément...
Comment peut-on contourner cette lenteur tout en supprimant les lignes?
Merci de me faire part de vos lumières
J'ai une macro qui filtre une base de données, en masquant les enregistrements non concernés par une recherche.
Je souhaite supprimer ces lignes masquées. J'ai donc fait une boucle For...To...Next:
For i=4 to DerListing
if rows(i).hidden=true then rows(i).delete shift:=xlup
next i
Cette boucle met 4 minutes pour traiter 888 lignes!!!
Ca vient de la commande "delete qui est très lente, car si je met autre chose dans la boucle (ex: if rows(i).hidden=true then rows(i).hidden=false) la macro s'éxécute instantanément...
Comment peut-on contourner cette lenteur tout en supprimant les lignes?
Merci de me faire part de vos lumières