Incrémenter le n° de facture Excel
Résolu
Bonjour à tous,
Pour commencer je voudrais vous souhaiter une excellente année 2008 qu'elle soit remplie de problèmes résolus!!!
Voilà, j'ai donc mon modèle de facture avec en cellule H8 mon numéro de facture dont voici le format :
mv/08/01000
mv étant les initiales, 08 l'année, 01 le mois, 000, le numéro de facture qui commencera biensur par 0001 et ensuite 002 .....
Je voudrais donc que le numéro de facture s'incrémente de 1 et que le mois s'incrémente aussi de 1 à chaque changement de mois (attention, je fais plusieurs factures le meme mois donc il faut qu'il incrémente le mois lorsque nous sommes le mois suivant uniquement)
Ce qui voudrait dire qu'au mois de mars je pourrais très bien avoir ce genre de n°:
mv/08/03015
Ce qui serait génial c'est que cette macro fonction a chaque copie de feuille il faut savoir que j'ai déjà une macro qui tourne sur cette facture et qui en gros : fait une copie de ma facture modèle, la renomme, et efface certaine zone de la facture modèle (mais pas le numéro de facture )voici le code si cela peut vous etre utilie :
Sub copie_facture()
'
' copie_facture Macro
' copie renome efface facture modèle
'
' Keyboard Shortcut: Ctrl+j
'
Sheets("Facture_Modele").Copy Before:=Sheets(3)
Selection.Copy
Sheets("Facture_Modele (2)").Select
Sheets("Facture_Modele (2)").Name = "00000000000"
Sheets("Facture_Modele").Select
Range("B11:B16").Select ======> plage de cellule ou se trouve le nom du client
Application.CutCopyMode = False
Selection.ClearContents
Range("H7").Select ====> ca c'est la cellule de la date
Selection.ClearContents
Range("detail").Select =====> c'est la plage de cellule que j'ai nommée "détail" (le corps de la facture ou se trouvent les prestations)
Selection.ClearContents
End Sub
D'avance je vous remercie
E
Pour commencer je voudrais vous souhaiter une excellente année 2008 qu'elle soit remplie de problèmes résolus!!!
Voilà, j'ai donc mon modèle de facture avec en cellule H8 mon numéro de facture dont voici le format :
mv/08/01000
mv étant les initiales, 08 l'année, 01 le mois, 000, le numéro de facture qui commencera biensur par 0001 et ensuite 002 .....
Je voudrais donc que le numéro de facture s'incrémente de 1 et que le mois s'incrémente aussi de 1 à chaque changement de mois (attention, je fais plusieurs factures le meme mois donc il faut qu'il incrémente le mois lorsque nous sommes le mois suivant uniquement)
Ce qui voudrait dire qu'au mois de mars je pourrais très bien avoir ce genre de n°:
mv/08/03015
Ce qui serait génial c'est que cette macro fonction a chaque copie de feuille il faut savoir que j'ai déjà une macro qui tourne sur cette facture et qui en gros : fait une copie de ma facture modèle, la renomme, et efface certaine zone de la facture modèle (mais pas le numéro de facture )voici le code si cela peut vous etre utilie :
Sub copie_facture()
'
' copie_facture Macro
' copie renome efface facture modèle
'
' Keyboard Shortcut: Ctrl+j
'
Sheets("Facture_Modele").Copy Before:=Sheets(3)
Selection.Copy
Sheets("Facture_Modele (2)").Select
Sheets("Facture_Modele (2)").Name = "00000000000"
Sheets("Facture_Modele").Select
Range("B11:B16").Select ======> plage de cellule ou se trouve le nom du client
Application.CutCopyMode = False
Selection.ClearContents
Range("H7").Select ====> ca c'est la cellule de la date
Selection.ClearContents
Range("detail").Select =====> c'est la plage de cellule que j'ai nommée "détail" (le corps de la facture ou se trouvent les prestations)
Selection.ClearContents
End Sub
D'avance je vous remercie
E
Configuration: Windows XP Internet Explorer 6.0 office 2007 Office 2003
7 réponses
-
Bonjour,
En partant de cette discussion, je me suis permis d'utiliser le script proposé par gbinforme que je remercie et de le modifier en fonction de ce que je voulais obtenir, à savoir exécuter la macro sur le modèle que j'ai enregistré. Je souhaite que le numéro de facture apparaisse en cellule B4, mais que les numéros de factures se suivent sur l'année et reparte à zéro l'année suivante. et non chaque mois.
La macro sera adaptée à chaque client.
Le problème qui se passe est que le numéro n'évolue pas lorsque je rouvre le document., ce qui est un souci, car cela créée des factures différentes avec le même numéro.
Auriez vous une solution à m'apporter.
Merci par avance de votre aide.
Voici le script modifié pour ma facture
Sub Numéro_Facture()
'
'
'
'
'
Range("E18:E30").ClearContents
If Val(Mid(Range("B4").Value, 7, 2)) = Year(Date) Then
Range("B4").Value = "DGB-"
Range("B4").Value = Left(Range("B4").Value, 8) _
& Format(Val(Right(Range("B4").Value, 3)) + 1, "000") 'même mois facture +1
Else
Range("B4").Value = "DGB-"
Range("B4").Value = Left(Range("B4").Value, 6) _
& Format(Year(Date), "00") & Format(1, "000") ' année différente facture 1
End If
End Sub-
-
ContributeurBonjour,
après avoir modifié il faut que tu enregistres ton modèle .xlt pour sauvegarder le dernier n° de facture, puis que tu ré-enregistres en .xls que le format soit correct pour l'utilisateur.
C'est peut-être plus simple d'utiliser un fichier texte annexe pour mémoriser le dernier n° de facture.
Ex qui peut te servir de base : https://www.cjoint.com/c/DCojXE2zVjm
eric -
J'enregistre le modèle en fichier excel prenant en charge les macros (je fonctionne avec office 2010). Je ferme le fichier, puis le réouvre pour vérifier que le script fonctionne automatiquement à l'ouverture.
Ai-je oublié une écriture dans le script ou une étape dans la création de la macro?
Ou ai je un cerveau tellement blond que je ne vois pas ce que je suis censé faire? lol.
Merci pour votre réactivité dans vos premières réponses. -
-
-