nono2chevres
XLDnaute Nouveau
Bonjour à toutes et tous,
Je suis un débutant en VB et je me pose quelques questions. Je suis en possession d'un fichier excel de 360 lignes qui permet d'éditer des factures et le but est de n'imprimer que les lignes remplient. Comme chaque ligne possède une façon d'être remplie différente, je suis en train d'inscrire dans une colonne une formule adaptée qui affiche " " si la ligne est à imprimer et "" sinon (j'en suis à la ligne 130 environ actuellement).
Ma question est la suivante, existe-t-il un moyen rapide d'imprimer les lignes dont les cellules de la colonne L sont égale à " " ?
J'ai pensé à deux méthodes mais toutes deux prennent du temps :
- la première consiste à masquer celle qui n'ont rien d'écrit dedans puis d'imprimer le fichier
- la seconde consiste à copier les lignes possédant un espace sur une autre feuille du classeur puis de l'imprimer.
Le problème est que j'ai une boucle dans les deux cas qui est très longue à traiter, cela prend environ 3 minutes. Je souhaiterais que ça aille plus vite.
Je me suis concentré sur la macro qui masque seulement.
Mon code est-il peu optimisé ? Je pense que oui ne serait-ce que pour ma boucle, je l'effectue jusqu'à la ligne 500 au lieu de l'effectuer jusqu'à la dernière ligne non vide mais je ne sais pas comment faire.
J'espère avoir été claire, sinon faites le moi savoir, je tacherai de m'exprimer à nouveau.
Merci de votre aide,
Arnaud
Je suis un débutant en VB et je me pose quelques questions. Je suis en possession d'un fichier excel de 360 lignes qui permet d'éditer des factures et le but est de n'imprimer que les lignes remplient. Comme chaque ligne possède une façon d'être remplie différente, je suis en train d'inscrire dans une colonne une formule adaptée qui affiche " " si la ligne est à imprimer et "" sinon (j'en suis à la ligne 130 environ actuellement).
Ma question est la suivante, existe-t-il un moyen rapide d'imprimer les lignes dont les cellules de la colonne L sont égale à " " ?
J'ai pensé à deux méthodes mais toutes deux prennent du temps :
- la première consiste à masquer celle qui n'ont rien d'écrit dedans puis d'imprimer le fichier
- la seconde consiste à copier les lignes possédant un espace sur une autre feuille du classeur puis de l'imprimer.
Le problème est que j'ai une boucle dans les deux cas qui est très longue à traiter, cela prend environ 3 minutes. Je souhaiterais que ça aille plus vite.
Je me suis concentré sur la macro qui masque seulement.
Mon code est-il peu optimisé ? Je pense que oui ne serait-ce que pour ma boucle, je l'effectue jusqu'à la ligne 500 au lieu de l'effectuer jusqu'à la dernière ligne non vide mais je ne sais pas comment faire.
J'espère avoir été claire, sinon faites le moi savoir, je tacherai de m'exprimer à nouveau.
Merci de votre aide,
Arnaud
Pièces jointes
Dernière édition: