VIVEZ LE
FOOTBALL !

Posez votre question Signaler

Incrémenter des numéros de factures

flobat - Dernière réponse le 10 févr. 2010 à 10:29
Bonjour,

J'ai un problème avec Excel. Je travaille régulièrement sur des factures et j'aimerais incrémenter les numéros de factures automatiquement après chaque enregistrement (ancien numéro + 1). Comment faire ?

Merci d'avance pour votre aide.
Lire la suite 

Incrémenter des numéros de factures »

13 réponses
Réponse
+1
moins plus
Bonjour,

ça me rappelle un exercice que j'avais fait à l'école, malheureusement c'est bien loin tout ça, je pencherais pour l'option faire du code en vba..

à creuser..
flobat - 4 juil. 2005 à 21:52
Merci quand même pour ta réponse.
Je suis de ton avis, je pense qu'il faut utiliser une macro VBA. J'ai fait un essai non concluant, mais je ne désespère pas.
Ajouter un commentaire
Réponse
+0
moins plus
bonjour

je ne sais pas si tu as trouvé ta solution mais je te propose celle-ci :

dans ta feuille, tu nommes la cellule qui contient le numéro de facture :
"no_facture" pour mon exemple mais tu peux choisir un autre nom.


avec ALT + F11 tu ouvres VBA et dans thisworkbook tu copies cette macro :

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Range("no_facture").Value = Range("no_facture").Value + 1
End Sub


à chaque fois que tu va sauver ton classeur, ton numéro de facture
est automatiquement incrémenté.

il me semble que c'était bien ce que tu voulais ?
flobat - 6 juil. 2005 à 11:20
C'est génial, ça marche !!!

Je n'avais pas encore trouvé la solution, mais grâce à toi, c'est fait.
Merci beaucoup pour ton aide, c'est exactement ce que je voulais.
Émilie - 22 mai 2008 à 16:36
Bonjour, je suis désolée de m'interposer de la sorte dans la discussion mais j'ai trouvé presque'exactement ce que je voulais dans ton énoncé. Sauf que mon numéro de facture comporte au début 4 lettres, du genre ABEF20080001. Je devrais donc extraire les quatres derniers chiffres auxquels je devrais rajouter 1. Est-ce que tu peux m'aider. merci et bonne journée
gbinforme- 22 mai 2008 à 20:22
bonjour

Il suffit de mettre ce code et cela fonctionnera comme tu le souhaites.
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
    Range("no_facture").Value = Left(Range("no_facture").Value, 8) _
        & Format(Right(Range("no_facture").Value, 4) + 1, "0000")
End Sub
Ajouter un commentaire
Réponse
+0
moins plus
hello,
franchement super ton vba !
est il possible de faire pareil pour incrément les onglets, exemple : j'ai un onglet qui s'appelle facture 1 en la copiant j'aimerais que l'onglet (nom de la feuille) s'incrémente automatiquement.
Merci d'avance,
must
Ajouter un commentaire
Réponse
+0
moins plus
bonjour

Pourrais-tu détailler un peu la procédure que tu utilises.

Si tu crées une nouvelle feuille il est possible de lui donner un nom particulier en VBA et éventuellement de copier une feuille.

Si tu fais une copie de feuille ce n'est pas un événement.
KIKI53 - 1 mars 2009 à 11:44
Bonjour

J'ai un petit souci, la macro faite par un internaute via ce forum fonctionne mais lorsque je souhaite incrémenter un nouveau numéro en repartant sur une nouvelle facture à paritr de mon modèle et en appuyant sur le bouton "incrmenter numéro" il me déclanche un numéro suivant : 10.09.01.1900 sachant que je souhaite que ma numérotation commence toujours par le n°.j.m.a par exemple n° 51.2.03.09 et ainsi de suite en tenant bien compte du jour et du mois. Je pense qu'en principe excel peu tenir compte de jour en question même si il y a une ou plusieurs factures dans la même journée ou si nous changeons de journée, par exemple : 51.2.03.09 puis
52.2.03.09 par contre 53.3.03.09.

D'autre part j'ai créé un bouton "nouvelle facture" afin qu'en cliquant sur ce bouton j'arrive directement sur mon modèle.

Pouvez-vous m'aider car je bloque complètement, ci-joint le fichier excel : http://cjoint.com/?ddlSsqfOIh

Par avance je vous remercie.
KIKI53
Ajouter un commentaire
Réponse
+0
moins plus
merci d'avance deme permettre de poser la question
Ajouter un commentaire
Réponse
+0
moins plus
bonjour

Ta codification est presque correcte et si tu changes cette ligne, cela devrait mieux te convenir.
    nFact = Num & "." & Format(Date, "dd.mm.yyyy")

En fait, pour obtenir le formatage du jour de facture, il faut que tu utilises la date du jour et non ton numéro car lui ne contient en aucune façon la date.
Ajouter un commentaire
Réponse
+0
moins plus
Bonjour,
J'ai trouvé pour incrementer un n° auto pour chaque facture dans un nouveau classeur mais ils commencent par 1
Comment je pourrai faire pour incrementer un n° de facture commençant par 2000 en VBA

Merci beaucoup pour votre aide .
Ajouter un commentaire
Réponse
+0
moins plus
en access 2007 j'ai fait Une table tblFacture qui regroupe les factures établies par le service commercial.
• Les factures seront numérotées : FAYYMMXXX de telle sorte que pour chaque mois (MM) de
l'année (YY) un compteur (XXX) soit incrémenté à partir de 1 à chaque nouveau mois, la valeur du champ Indice redémarre à 1. La mise en forme du numéro de facture peut alors être obtenu à l'aide de l'expression suivante :

="FA" & Format([DateFacture];"yymm") & Format([Indice];"000")

mon code VBA est le suivant tt marche bien sauf que le résultat obtenu n'affiche pas l'année par exemple ds le mois 01 de l'année 2010 j'obtient "FAyy01001" pouvez me donner une rep!!! il est ou le prob.???

CODE EN VBA:

Private Sub Form_BeforeUpdate(Cancel As Integer)
Dim oRst As DAO.Recordset
If Me.NewRecord Then
Set oRst = CurrentDb.OpenRecordset( _
"SELECT Max(Indice) FROM tblFacture_ac2007 WHERE Format(DateFacture,""yymm"")=" & _
Chr(34) & Format(Me.DateFacture, "yymm") & Chr(34))
With oRst
If Not .EOF Then
Me![Indice].Value = Nz(.Fields(0).Value, 0) + 1
Else
Me![Indice].Value = 1
End If
.Close
End With
End If
End Sub
Ajouter un commentaire
Ce document intitulé « incrémenter des numéros de factures » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?