Merci pour vos réponses.
Mon fichier fait environ 4Mo, c'est une application professionnelle. Je ne peux pas le joindre.
En fait, pour supprimer les enregistrements vides de nART500,9) il faudrait pouvoir redimensionner cette variable ) une fois qu'elle a été remplie sans effacer les info des lignes non vides. Je ne pense pas que ce soit possible.
J'ai trouvé une solution très simple.
Les blocs de 500 lignes sont rajoutés dans une table.
J'ai mis un Compteur donnant le nombre de lignes de la table contenant des informations. Ce compteur est mis ajour après chaque ajout de nART(500,9)
Pour l'enregistrement de chaque bloc, je positionne le curseur sur la première ligne vide, Compteur+1, et copie le prochain bloc de 500 à partir de cette cellule.
Pour le dernier bloc, j'ai rajouté la ligne :
Range("A6:A65000").SpecialCells(xlCellTypeBlanks).EntireRow.Delete
cette ligne supprime toutes les lignes vides de la table provenant du dernier bloc de données enregistrées.
Le résultat est impressionnant, il faut 13 secondes pour créer une table de 4852 lignes avec 10 cellules par ligne.
Je vais passer le sujet à clos.
Merci pour votre aide,
Cordialement
JMV