Re : Trucs pour boucle for n=1 to 55000 (?)
Bonjour à tous
J'ai regroupé quelques propositions dans le classeur joint.
J'ai repris :
- La solution de JNP dont les performances se dégradent très vite lorsque le nombre de lignes à traiter augmente.
- Une solution fondée sur la précédente. Quelques petites modifications apportent un accroissement notable des performances.
- Ma première proposition, très légèrement modifiée.
- Ma première proposition, largement simplifiée.
- La proposition de laetitia90, après une correction indispensable car la version initiale ne respecte pas l'intégrité des données numériques. Il faut typer t2() As Variant, et non t2() As String ! Ce faisant, on obtient un code assez rapide, avec une structure très proche de ma première proposition (la différence principale étant la limitation à quinze colonnes pour le code de laetitia90).
- La proposition de Fo_rum, à peine modifiée. Le fonctionnement est voisin de ma proposition simplifiée (si ce n'est la limitation à 55_000 lignes).
Je n'ai pas retenu les propositions de
smotty, écrites spécifiquement pour Excel2007, ni celle de
meliokan qui ne me semble pas répondre à la question initiale : entre autres inconvénients, elle supprime des lignes non vides si leur première cellule est vide.
La feuille de test est la feuille
Feuil3. Voici un exemple de résultats obtenus sur ma machine (temps en secondes) :
Nombre de__ROGER2327__ROGER2327_laetitia90_____Fo_rum________JNP________JNP
___lignes_simplifiée___________________________________améliorée___________
___________________________________________________________________________
________1________0,1________0,2________0,5________0,9________0,1________3,6
________2________0,1________0,2________0,5________0,9________0,1________3,6
________5________0,1________0,2________0,5________0,9________0,2________3,7
_______10________0,1________0,2________0,5________0,9________0,2________3,7
_______20________0,1________0,2________0,5________0,9________0,2________3,8
_______50________0,1________0,2________0,5________0,9________0,4__________4
______100________0,1________0,2________0,5________0,9________0,7________4,7
______200________0,1________0,2________0,5________0,9________1,2________6,5
______500________0,1________0,3________0,5__________1________2,9_______18,2
_____1000________0,1________0,3________0,5__________1________5,5_________51
_____2000________0,2________0,3________0,6__________1_______11,4_____------
_____5000________0,3________0,5________0,7________1,1_______41,5_____------
____10000________0,5________0,8________1,1________1,3_____------_____------
____20000________0,9________2,2________2,4________1,6_____------_____------
____50000________2,1________9,8_______10,1________2,7_____------_____------
____55000________2,3_______11,6_______11,9________2,9_____------_____------
____65536________2,8_________16_______16,3_____------_____------_____------
ROGER2327
#3919
Jeudi 5 Tatane 137 (Saint Arsouille, patricien, SQ)
30 Messidor An CCXVIII
2010-W28-7T08:26:44Z