Numerotation automatique facture avec une incrémentation

Fermé
robbybasch Messages postés 100 Date d'inscription lundi 14 juillet 2014 Statut Membre Dernière intervention 19 août 2022 - 18 août 2022 à 21:05
robbybasch Messages postés 100 Date d'inscription lundi 14 juillet 2014 Statut Membre Dernière intervention 19 août 2022 - 19 août 2022 à 17:22

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

A voir également:

7 réponses

ozone_ Messages postés 1518 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 2 juin 2023 478
18 août 2022 à 21:12

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. 


0
robbybasch Messages postés 100 Date d'inscription lundi 14 juillet 2014 Statut Membre Dernière intervention 19 août 2022
18 août 2022 à 21:34

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

0
ozone_ Messages postés 1518 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 2 juin 2023 478
Modifié le 18 août 2022 à 21:51

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
0
robbybasch Messages postés 100 Date d'inscription lundi 14 juillet 2014 Statut Membre Dernière intervention 19 août 2022
18 août 2022 à 21:46

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

0
robbybasch Messages postés 100 Date d'inscription lundi 14 juillet 2014 Statut Membre Dernière intervention 19 août 2022
18 août 2022 à 22:01

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.

0
robbybasch Messages postés 100 Date d'inscription lundi 14 juillet 2014 Statut Membre Dernière intervention 19 août 2022
18 août 2022 à 22:02

il faut que j'arrive à garder l'ancienne valeur dans le modèle afin que cela fonctionne.. Peut etre irréalisable

0
robbybasch Messages postés 100 Date d'inscription lundi 14 juillet 2014 Statut Membre Dernière intervention 19 août 2022 > robbybasch Messages postés 100 Date d'inscription lundi 14 juillet 2014 Statut Membre Dernière intervention 19 août 2022
18 août 2022 à 22:05

existe til une commande VBA qui sauvegarderai automatiquement dans la feuille une valeur ?

0
ozone_ Messages postés 1518 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 2 juin 2023 478
Modifié le 18 août 2022 à 22:53

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

0
robbybasch Messages postés 100 Date d'inscription lundi 14 juillet 2014 Statut Membre Dernière intervention 19 août 2022
18 août 2022 à 22:53

Merci pour ton aide.. Je vais revoir ta proposition demain. Te tiens au courant si j'arrive à quelque chose

Grand merci. Je vais au marchand de sable

A bientot

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
robbybasch Messages postés 100 Date d'inscription lundi 14 juillet 2014 Statut Membre Dernière intervention 19 août 2022
19 août 2022 à 15:12

Bonjour 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

0
robbybasch Messages postés 100 Date d'inscription lundi 14 juillet 2014 Statut Membre Dernière intervention 19 août 2022
19 août 2022 à 15:25

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?

0
ozone_ Messages postés 1518 Date d'inscription lundi 13 juillet 2009 Statut Membre Dernière intervention 2 juin 2023 478 > robbybasch Messages postés 100 Date d'inscription lundi 14 juillet 2014 Statut Membre Dernière intervention 19 août 2022
19 août 2022 à 16:36

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.

0
robbybasch Messages postés 100 Date d'inscription lundi 14 juillet 2014 Statut Membre Dernière intervention 19 août 2022
19 août 2022 à 17:06

Merci pour ton aide, mais petit soucis. Quand je rappelle mon modèle pour une autre facture je n'ai plus le bouton.

0
robbybasch Messages postés 100 Date d'inscription lundi 14 juillet 2014 Statut Membre Dernière intervention 19 août 2022
19 août 2022 à 17:22

et j'ai cette erreur

0