Reconstituer une facture

jlvv

XLDnaute Nouveau
Bonjour ,voici mon problème, j'ai créer un facturier avec Excel ,il fonctionne sauf que je voudrais une chose en plus
et je trouve pas ( je suis novice ,j'apprend via des infos trouver sur le net ).
Dans mon classeur quand je clic dans ma feuille "Facture" sur sauvegarder il me sauvegarde ma facture dans l'onglet
"HISTORIQUEFACTURE" puis j'efface ma facture, ce que je voudrais bien ces reconstituer ma facture a partir
l'onglet "HISTORIQUEFACTURE" en cliquant sur un bouton ou autre chose(style formulaire) pour quelle ce ré-ouvre dans l'ongle "Facture",pour pouvoir modifier cette facture et la ré-enregistrer ou elle ce trouve ,
c'est un peut compliquer d'expliquer mais en regardent mon fichier vous aller comprendre,
Merci d'avance de vos réponse :cool:
 
Dernière édition:

vgendron

XLDnaute Barbatruc
Re : Reconstituer une facture

Hello

avec ce code:
il commence par te demander quelle facture tu veux reconstituer et voila;;
Code:
Sub ReconstitutionFacture()
'
' ReconstitutionFacture Macro
'

'
Set NumFacture = Application.InputBox("Sélectionnz la facture à reconstruire", Type:=8)
LigDeb = NumFacture.Row
LigFin = Range(NumFacture.Address).End(xlDown).Row - 1
    Range(NumFacture.Address).Copy Destination:=Sheets("Facture").Range("H2:J2")
    
    'Sheets("HISTORIQUEFACTURE").Select
    Range("F" & LigDeb & ":I" & LigFin).Copy Destination:=Sheets("Facture").Range("A10")
'    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
'        :=False, Transpose:=False
'    Sheets("HISTORIQUEFACTURE").Select
    Range("L" & LigDeb & ":L" & LigFin).Copy Destination:=Sheets("Facture").Range("G10")
'    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
'        :=False, Transpose:=False
'    Range("L22").Select
End Sub

j'ai pas "purger" encore pour te laisser voir les simplifications possibles
 

vgendron

XLDnaute Barbatruc
Re : Reconstituer une facture

Re,

Je viens donc de Purger le code
je me suis permis de rajouter un call VIDER.. pour effacer la facture avant d'en recréer une (au cas ou tu aurais oublié de cliquer sur vider avant)

j'ai aussi ajouté le "FIN FACTURES" en bas du tableau..
j'ai pas encore regardé quel impact ca peut avoir sur ta macro qui créer une nouvelle facture..

j'ai également effacé tous les modules vides.. ca pollue inutilement ton projet VBA
 

Pièces jointes

  • FACTURIER TESTE.xlsm
    175.2 KB · Affichages: 92
  • FACTURIER TESTE.xlsm
    175.2 KB · Affichages: 88
  • FACTURIER TESTE.xlsm
    175.2 KB · Affichages: 84

jlvv

XLDnaute Nouveau
Re : Reconstituer une facture

Bonjour et merci de votre réponse si rapide,je vais tester super!!

Ne pourrai ton pas cliquer sur le nom du client a la place du n° , comme ca je crois qu'il s'ecrira:confused:
 
Dernière édition:

vgendron

XLDnaute Barbatruc
Re : Reconstituer une facture

oui pardon,
je recopiais le numéro de la facture et non le client associé
donc forcément, tes formules ne marchent plus car ne trouvent pas le client

avec ceci à la place
Code:
Range(NumFacture.Address).Offset(0, 1).Copy Destination:=Sheets("Facture").Range("H2:J2")

j'en profite pour te renvoyer ton fichier avec grosse purge de ta macro Sauv

tu as beaucoup de select et de scrolldown inutiles
tu fais meme trois fois un copier coller special de la cellule E5 en E2 pour rien
alors qu'au final, tu fais juste un copier coller pour avoir la formule

autre point;
ta macro VIDER n'effacait pas la colonne H (prix/Km)
j'ai supposé que c'était une erreur et ai donc rajoutté cette colonne pour l'effacement.. peut etre me gourre-je ?

autre point 2:
pourquoi avoir une facture sur 26 lignes alors que visiblement, ta macro ne sauvegarde QUE les 3 premières lignes..??

Que se passe t il si un client fait plus d'achats?
 

Pièces jointes

  • FACTURIER TESTE.xlsm
    179.7 KB · Affichages: 76
  • FACTURIER TESTE.xlsm
    179.7 KB · Affichages: 80
  • FACTURIER TESTE.xlsm
    179.7 KB · Affichages: 68
Dernière édition:

jlvv

XLDnaute Nouveau
Re : Reconstituer une facture

"tu as beaucoup de select et de scrolldown inutiles
tu fais meme trois fois un copier coller special de la cellule E5 en E2 pour rien
alors qu'au final, tu fais juste un copier coller pour avoir la formule"
Suis novice je fait beaucoup d'essaie et d'erreur:D

autre point;
ta macro VIDER n'effacait pas la colonne H (prix/Km)
j'ai supposé que c'était une erreur et ai donc rajoutté cette colonne pour l'effacement.. peut etre me gourre-je ?
C'était fait expres car la cellule h est =SOMME(G10*H10) donc il faut une valeur dedans pour le calcul automatique :D
"autre point 2:
pourquoi avoir une facture sur 26 lignes alors que visiblement, ta macro ne sauvegarde QUE les 3 premières lignes..??

C'est une( "i-d-e-s-s )petite travaux effectuer par des personne du cpas ou je travaillait il est tres rare d'intervenir plus de trois fois sur le mois chez le meme clients et
il me semble que ca va prendre beaucoup de place vu qu' ont peu au moins faire une 100 de clients par mois ,
merci
 
Dernière édition:

gosselien

XLDnaute Barbatruc
Re : Reconstituer une facture

C'est une idess du cpas ou je travaillait il est tres rare d'intervenir plus de trois fois sur le mois chez le meme clients et
il me semble que ca va prendre beaucoup de place vu qu' ont peu au moins faire une 100 de clients par mois ,
merci

Si tu es sur Excel 2003, tu as + de 65.000 lignes et n'en parlons pas dans les versions qui ont suivi :)

P.
 

camarchepas

XLDnaute Barbatruc
Re : Reconstituer une facture

Bonjour Vgendron, Gosselien , Jean Luc ,

Alors j'étais partis pour regarder cette sauvegarde avec juste le nombre de lignes nécessaire , mais y'a de quoi ce perdre dans ce classeur .

J'ai donc refait une passe 5S , j'ai viré les modules de classe qui n'étaient pas utilisés , nommé les modules et j'ai travaillé finalement sur la saisie clients .

Une question : 2 userforms dans le classeur et a priori aucun des 2 utilisés . faut-il les intégrés ou les désintégrer ?

Bien , j'espère pouvoir revenir un peu sur ton classeur , mais regardes bien comment l'on transfert les informations d'une feuille à une autre , il y à 2 techniques Vgendron à utilisé le copy et moi l'affectation directe .

ces 2 méthodes sont bien plus rapides , pratiques , lisibles et donc faciles à mettre en place que la méthode select qui si au début de l'apprentissage est une technique visuelle, devient vite trés lourde à gérer et gourmande en temps.


A oui , j'ai pas vu de tri pour l'onglet Clients ?

Derniere question , si tu peux confirmer que tu es bien sous Excel 2010 ....
 

Pièces jointes

  • FACTURIER TESTE.xlsm
    176.2 KB · Affichages: 70
  • FACTURIER TESTE.xlsm
    176.2 KB · Affichages: 86
  • FACTURIER TESTE.xlsm
    176.2 KB · Affichages: 93

jlvv

XLDnaute Nouveau
Re : Reconstituer une facture

Bonjour camarchepas et merci de l'interet que vous portée a mon fichier

"Alors j'étais partis pour regarder cette sauvegarde avec juste le nombre de lignes nécessaire , mais y'a de quoi ce perdre dans ce classeur ."
pour le faire j'ai piocher un peu tout coté donc des formule bonne et moins bonne

"Une question : 2 userforms dans le classeur et a priori aucun des 2 utilisés . faut-il les intégrés ou les désintégrer ?"
comme je suis novice je fait des teste d'useforme mais il est vrai qu'il n' on rien a faire la,

"A oui , j'ai pas vu de tri pour l'onglet Clients ?"
je ne sais pas comment on fait


"Derniere question , si tu peux confirmer que tu es bien sous Excel 2010"

oui maintenant ,mais j'ai travailler dessus avec 2013 debut grr.

Maintenant que je sais reconstituer la facture voir modifier ou ajouter une intervention ,il y a t-il moyen de la ré- enregistrer mais pas comme nouvelle facture bien sur ? merci beaucoup
 
Dernière édition:

vgendron

XLDnaute Barbatruc
Re : Reconstituer une facture

Hello Tous !!

Je reviens au sujet de la colonne H de l'onglet Facture..
dans ma macro, je l'effacais parce que je pensais que c'était un oubli..
d'après ce que tu as répondu jlvv, il ne fallait pas car il s'agit du prix au km qui se trouve dans l'onglet "Codekm"

j'ai donc donné un nom (PrixKm) à la cellule B2 de l'onglet "CodeKm"
et dans l'onglet Facture
en H10 = SI(G10<>"";PrixKm;"")
en I10 =SIERREUR(SOMME(G10*H10);"")

et tu tires vers le bas, jusqu'à la ligne 26

du coup, la macro Vider doit etre modifiée

Code:
Sub VIDER()
'
' VIDER Macro
'
With Sheets("Facture")

    .Range("A10:D26").ClearContents
    .Range("G10:G26").ClearContents
    .Range("C7").ClearContents
    .Range("H2:J2").ClearContents
End With
    
End Sub


et pour la suite, si suite il y a ;-) je repartirai du fichier de CamarchePas qui a fait un 5S plus poussé que le mien (sans prévenir..:p )

j'en profite pour poser la question qui me turlupine depuis le début..
tes formulaires (les deux seuls qui semblent codés).. tu les lances ou et comment.. je ne vois pas de bouton pour les afficher..

Edit:
manque aussi cette ligne dans la reconstruction de la facture..
Code:
Sheets("Facture").Range("C7") = NumFacture
 
Dernière édition:

Discussions similaires

Statistiques des forums

Discussions
312 241
Messages
2 086 522
Membres
103 241
dernier inscrit
Peyo33