Numerotation automatique facture avec une incrémentation
robbybasch Messages postés 101 Statut Membre -
Bonjour,
J'ai vu différente chose mais pas ce qui me convient. J'ai un fichier modéle et je voudrais à chaque ouverture que le numero se note automatiquement avce une incrementation.
Voici ce que j'ai trouvé
A partir de la fenêtre Projet (pressez Ctrl + R si elle n’est pas déjà affichée à l’écran), cliquez sur VBAProject/Microsoft Excel Objets, puis cliquez deux fois sur ThisWorkbook puis plus rien
Je me doute qu'il faut creer deux macros, dans thisworkbook, mais je n'y arrive pas. Quelquun peut il m'aider svp
CDL
Windows / Firefox 103.0
- Numerotation automatique facture avec une incrémentation
- Réponse automatique thunderbird - Guide
- Logiciel de sauvegarde automatique gratuit - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
- Facture ryanair - Forum Réseaux sociaux
- Réglo mobile facture ✓ - Forum Autres opérateurs mobiles
7 réponses
Bonjour,
Peux tu déposer un fichier exemple (sans données confidentielles) sur https://www.cjoint.com/ afin que l'on puisse voir où et quoi faire exactement.
Merci.
Pas de problème. Pour partir sur de bonnes bases, mon fichier est un modèle que j'appelle pour faire la facture. J'arrive à la numérotation 1 et quand je ferme en sauvegardant xls et que je veux réouvrir mon modèle je voudrais que cela passe à 2. J'ai un enregistrement de ma facture en pdf.. Ca c'est résolu, maintenant je voudrais l'incrémentation si c'est posssible
J'envoi le fichier
https://www.cjoint.com/c/LHstHPgjSTs
Voici une proposition :
https://www.cjoint.com/c/LHstQkbm8Vw
L'incrémentation se fait à l'ouverture du fichier.
Private Sub Workbook_Open()
numFact = Range("D1").Value
Range("D1").Value = Format(Range("D1").Value + 1, "0000")
End Sub
Pour bien comprendre le problème, j'appelle mon modèle, qui donne donc un nom de fichier du type facturation1. la numérotation se met à 1 pour commencer. J'enregistre en xls. Puis je rappelle mon modèle qui donnera un nom de fichier facturation2 etc... Ce n'est peut etre pas possible, car en réfléchissant bien le modèle n'est jamais écrasé. Donc la numerotation ne peut s'incrémenter. Il faudrait finalement arriver à faire une macro qui force l'enregistrement du modèle avec le numéro de la facture à sauvegarder sans toucher au modèle proprement dit
Merci de ton aide, mais il s'incremente la 1er fois dans le nouveau fichier facturation1 appelez par le modèle facturation. Mais le problème, si je rappelle le modèle, l'incrementation s"est effectué dans le document appelé par le modèle qui se nommera facturation 2.
Pourquoi ne pas créér un bouton pour enregistrer une copie qui en même temps ira incrémenter le modèle :
Private Sub CommandButton2_Click()
Dim z As Workbook
ActiveSheet.Shapes("CommandButton2").Delete
Application.Dialogs(xlDialogSaveAs).Show
Application.ScreenUpdating = False
Set z = Workbooks.Open("C:\CHEMIN\DU\MEDELE\Facturation-spectacle.xltm", editable:=True)
With z.Worksheets("Facture")
numFact = .Range("D1").Value
.Range("D1").Value = Format(.Range("D1") + 1, "0000")
End With
z.Close SaveChanges:=True
Application.ScreenUpdating = True
End Sub
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionBonjour Ozone. Suis de retour.. Ou dois je noter la macro ? Dans la feuille facture ou ailleurs? Car lorsque je note la macro sur feuille facture, le bouton disparait après avoir cliquer dessus. cdl
A mon avis la solution serait de trouver une macro qui enregistre une valeur dans le modèle. Ainsi l'incrementation se ferait naturellement.
Ex pour me faire comprendre j'ouvre excel et lance le modele facture_spectacle dont le numéro est 0000. Le modèle génère facturation_spectacle1.xlsx. Avec la petite macro que tu m'as donnée cette facture passe à 0001.. PARFAIT.
Je sauvegarde cette facture... Mais si j'avais une macro qui écrase la cellule D1 de mon modèle le numero passerait à 0001. Ainsi lorque j'ouvre de nouveau mon modèle, avec ta petite macro le fichier suivant passerai à 0002 et rebelotte pour écraser D1 avec 0002
Est ce que c'est possible?
Alors dans mon idée c'était ça :
https://www.cjoint.com/c/LHtoEsCnpiw
Tu ouvre ton modèle, il génère donc un fichier Facturation-spectacle1 que tu vas (ou non) enregistrer sous un format par exemple *.xlsm via le bouton présent sur le modèle (voir fichier joint).
Au clic sur le bouton cela permet de :
1. Proposer à l'utilisateur d'enregistrer le fichier
2. De supprimer le bouton puisque plus besoin d'avoir ce bouton car uniquement nécessaire sur le modèle afin d'avoir la macro qui incrémente le numéro de facture sur le modèle
3. D'incrémenter le numéro de facture sur le modèle en l'ouvrant en arrière plan puis le sauvegarde et le ferme.
Il est difficile de sauvegarder le numéro de facture sans un bouton quelque part sur le modèle d'où l'idée d'avoir un bouton pour enregistrer un copie du modèle afin de faire les actions voulues par la suite.