Création archivage facture

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 !

achraf26

XLDnaute Occasionnel
Bonsoir,
je voudrai une solution pour que ma feuille Historique facture, trouve tous le contenue de ma facture que j'ai sauvegardé à ma feuille facture, en entrant juste le numéro de la facture.
j'ai pensé à index mais je sais pas comment ça fonctionne
Merci beaucoup
 

Pièces jointes

Re : Création archivage facture

Merci job, je vais essayer demain de faire moi même avec index pour voir et comprendre le fonctionnement
Je n'hésite pas de partager le fichier une fois je le termine. C'est domage que le fichier proposé par Djil est bloquer au niveau vba et feuilles bonne soiree
 
Re : Création archivage facture

bonjour à tous,
je vous réexpédie le fichier "facture avec fonction d'archivage", cette fois-ci accessible en VBE.
bonne soirée
 

Pièces jointes

Re : Création archivage facture

bonsoir achraf26 et le forum

achraf sais tu accéder a vba par "alt+f11" tu clic sur la feuille et tu regarde ses propriété pour la mettre a visible
voir image jointe

et dans excel si tu as excel 8 tu fait fichier puis options avancées puis tu cherche les options d'affichage du classeur puis tu coches affiche la barre horizontale et vertical et les onglets

et comme cela tu as accès aux feuilles qui ne sont pas protégées
 

Pièces jointes

  • propriété de feuille.jpg
    propriété de feuille.jpg
    75.9 KB · Affichages: 22
  • option excel.jpg
    option excel.jpg
    43.2 KB · Affichages: 22
  • option excel.jpg
    option excel.jpg
    43.2 KB · Affichages: 34
  • option excel.jpg
    option excel.jpg
    43.2 KB · Affichages: 33
Re : Création archivage facture

Bonjour à tous,

J'ai une demande du même type : Je souhaiterais remplir l'onglet "historique facture" à chaque fois qu'une facture est enregistrée.
Les commandes peuvent contenir 1 ou 2 produits différents, et les factures comprennent donc 1 ou 2 lignes.
Je n'arrive pas à faire varier le code en fonction du nombre de lignes que contient la facture, voici ce que j'ai essayé :

Private Sub Save_facture_Click()
Sheets("facture").Range("L12") = Sheets("facture").Range("L12") + 1
Sheets("historique_factures").Range("A1048576").End(xlUp).Offset(0, 0) = Sheets("facture").Range("L12")
Sheets("historique_factures").Range("A1048576").End(xlUp).Offset(0, 1) = Sheets("facture").Range("L11")
Sheets("historique_factures").Range("A1048576").End(xlUp).Offset(0, 2) = Sheets("facture").Range("L13")
Sheets("historique_factures").Range("A1048576").End(xlUp).Offset(0, 21) = Sheets("facture").Range("L14")
Sheets("historique_factures").Range("A1048576").End(xlUp).Offset(0, 5) = Sheets("facture").Range("D25")
'1er produit
Sheets("historique_factures").Range("A1048576").End(xlUp).Offset(0, 11) = Sheets("facture").Range("D36")
Sheets("historique_factures").Range("A1048576").End(xlUp).Offset(0, 12) = Sheets("facture").Range("E36")
Sheets("historique_factures").Range("A1048576").End(xlUp).Offset(0, 13) = Sheets("facture").Range("F36")
Sheets("historique_factures").Range("A1048576").End(xlUp).Offset(0, 14) = Sheets("facture").Range("G36")
Sheets("historique_factures").Range("A1048576").End(xlUp).Offset(0, 15) = Sheets("facture").Range("H36")
Sheets("historique_factures").Range("A1048576").End(xlUp).Offset(0, 16) = Sheets("facture").Range("I36")
Sheets("historique_factures").Range("A1048576").End(xlUp).Offset(0, 17) = Sheets("facture").Range("J36")
Sheets("historique_factures").Range("A1048576").End(xlUp).Offset(0, 18) = Sheets("facture").Range("K36")
Sheets("historique_factures").Range("A1048576").End(xlUp).Offset(0, 19) = Sheets("facture").Range("L36")
'2ème produit
Sheets("historique_factures").Range("A1048576").End(xlUp).Offset(1, 11) = Sheets("facture").Range("D37")
Sheets("historique_factures").Range("A1048576").End(xlUp).Offset(1, 12) = Sheets("facture").Range("E37")
Sheets("historique_factures").Range("A1048576").End(xlUp).Offset(1, 13) = Sheets("facture").Range("F37")
Sheets("historique_factures").Range("A1048576").End(xlUp).Offset(1, 14) = Sheets("facture").Range("G37")
Sheets("historique_factures").Range("A1048576").End(xlUp).Offset(1, 15) = Sheets("facture").Range("H37")
Sheets("historique_factures").Range("A1048576").End(xlUp).Offset(1, 16) = Sheets("facture").Range("I37")
Sheets("historique_factures").Range("A1048576").End(xlUp).Offset(1, 17) = Sheets("facture").Range("J37")
Sheets("historique_factures").Range("A1048576").End(xlUp).Offset(1, 18) = Sheets("facture").Range("K37")
Sheets("historique_factures").Range("A1048576").End(xlUp).Offset(1, 19) = Sheets("facture").Range("L37")

End Sub

Sub Save_facture()
Application.ScreenUpdating = False

With Sheets("historique_facture")
i = 2
Do While Cells(i, 12) <> ""
.Range(Cells((i - 1), 5), Cells((i - 1), 11)).Copy Destination:=Sheets("historique_facture").Cells((i + 1), 5)
i = i + 1
Loop

End With

Application.ScreenUpdating = True

End Sub

Je vous joins une photo de l'onglet historique facture car je n'arrive pas à réduire le poids du fichier pour vous l'envoyer
histo_facture.jpg

L'idée serait donc de créer une boucle qui, à chaque fois que la cellule "produit" de la 2ème ligne est renseignée, copie les éléments de la ligne du dessus (colonnes 1 à 3 et 4 à 11)

Merci pour votre aide!
 
Dernière modification par un modérateur:
- 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

Discussions similaires

Réponses
1
Affichages
299
wDog66
W
Réponses
18
Affichages
1 K
  • Question Question
Microsoft 365 Tableau
Réponses
5
Affichages
250
Retour