Incrémenter des numéros de factures
Fermé
flobat
-
4 juil. 2005 à 11:13
choum33 Messages postés 1 Date d'inscription mercredi 5 décembre 2012 Statut Membre Dernière intervention 5 décembre 2012 - 5 déc. 2012 à 22:27
choum33 Messages postés 1 Date d'inscription mercredi 5 décembre 2012 Statut Membre Dernière intervention 5 décembre 2012 - 5 déc. 2012 à 22:27
A voir également:
- Incrémenter des numéros de factures
- Whatsapp 2 numéros - Guide
- Numeros indesirables - Guide
- Liste des numéros de téléphone indésirables 2023 - Accueil - Guide protection
- Quand on visite cette page, des messages sont échangés entre le navigateur et le site web. des extraits des messages échangés lors de la première connexion sont reproduits ci-dessous. des valeurs ont été remplacées par des numéros. retrouvez chacune de ces valeurs. - Forum Windows 10
- Mes numéros - Forum Free mobile
8 réponses
Erucia
Messages postés
1057
Date d'inscription
jeudi 2 décembre 2004
Statut
Membre
Dernière intervention
16 juin 2014
151
4 juil. 2005 à 14:53
4 juil. 2005 à 14:53
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..
ç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..
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 711
5 juil. 2005 à 22:38
5 juil. 2005 à 22:38
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 ?
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 ?
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
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 711
>
Émilie
22 mai 2008 à 20:22
22 mai 2008 à 20:22
bonjour
Il suffit de mettre ce code et cela fonctionnera comme tu le souhaites.
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
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
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
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 711
27 déc. 2007 à 23:17
27 déc. 2007 à 23:17
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.
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.
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 : https://www.cjoint.com/?ddlSsqfOIh
Par avance je vous remercie.
KIKI53
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 : https://www.cjoint.com/?ddlSsqfOIh
Par avance je vous remercie.
KIKI53
choum33
Messages postés
1
Date d'inscription
mercredi 5 décembre 2012
Statut
Membre
Dernière intervention
5 décembre 2012
5 déc. 2012 à 22:27
5 déc. 2012 à 22:27
Bonjour, es ce possible d'avoir ton fichier Excel pour voir comment cela fonction, merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
gbinforme
Messages postés
14946
Date d'inscription
lundi 18 octobre 2004
Statut
Contributeur
Dernière intervention
24 juin 2020
4 711
1 mars 2009 à 15:55
1 mars 2009 à 15:55
bonjour
Ta codification est presque correcte et si tu changes cette ligne, cela devrait mieux te convenir.
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.
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.
shoune34
Messages postés
1
Date d'inscription
vendredi 17 juillet 2009
Statut
Membre
Dernière intervention
17 juillet 2009
17 juil. 2009 à 11:04
17 juil. 2009 à 11:04
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 .
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 .
electra85
Messages postés
3
Date d'inscription
mercredi 3 février 2010
Statut
Membre
Dernière intervention
10 février 2010
10 févr. 2010 à 10:29
10 févr. 2010 à 10:29
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
• 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
4 juil. 2005 à 21:52
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.