archiver facture, boucle while wend

  • Initiateur de la discussion Initiateur de la discussion Anais28
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

Anais28

Guest
Bonjour,

J'ai un problème avec l'archivage d'une facture. Je souhaite archiver(les enregistrer dans une autre feuille de calcul) toutes les lignes de ma facture en sachant que chaque facture a un nombre de lignes différent.
J'ai donc fait une boucle sous vba mais elle ne me recopie toujours que la première ligne de facture.
Savez-vous comment faire pour faire fonctionner cette boucle ?
Je vous remercie d'avance.
 

Pièces jointes

Re : archiver facture, boucle while wend

bonjour, Anaïs

Voici ton fichier modifié.
Quand tu emploies Cells(x,x) ou une quelconque référence à une plage de cellule, il faut indiquer sur quelle feuille tu travailles, à moins d'être sûre que ta macro travaille sur la feuille active. Dans ta boucle tu passais d'une feuille à l'autre.

Do While Sheets("NomDeFeuille").Cells(x,x)<>""
A+
 
Re : archiver facture, boucle while wend

Merci beaucoup, ça marche mais tu pourrais m'expliquer ce que tu fais dans ce code (quelle variable tu détermines) stp ???

Dim wsC As Worksheet, wsR As Worksheet
Set wsC = Sheets("Cde_client")
Set wsR = Sheets("Recept_cde_dist")
 
Re : archiver facture, boucle while wend

Re,


Dim wsC As Worksheet, wsR As Worksheet 'Déclaration Variables objets Feuilles de calcul
Set wsC = Sheets("Cde_client")
Set wsR = Sheets("Recept_cde_dist")

wsC est une variable objet pointant vers la feuille Cde_Client
wsR est une variable objet pointant vers la feuille Recept_cde_dist

Lorsqu'ensuite dans le code on Emploie wsC.range("A1") Vba sait que la cellule A1 est celle de la feuille Cde_client.

Non seulement c'est une écriture de code plus courte et concise que Sheets("Cde_client").Range("A1") mais cela a aussi l'avantage d'être plus rapide à l'execution.
En effet dès le départ de la macro, lorsque tu initialise les variables, VBA sait sur quoi il va travailler.

Dans une boucle si tu as beaucoup d'aller retour vers des feuilles différentes. VBA évalue à chaque fois Sheets("Cde_client") pour savoir de quoi il s'agit. Alors que wsc, il le sait déjà.

A+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
23
Affichages
677
Réponses
11
Affichages
729
Retour