Générer numéro de facture avec années+mois

Fermé
Qbosc Messages postés 1 Date d'inscription dimanche 12 juillet 2015 Statut Membre Dernière intervention 12 juillet 2015 - Modifié par Strumpfette le 13/07/2015 à 09:53
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 - 13 juil. 2015 à 09:39
Bonjour chère communauté de trouveurs de solution !

Mon problème est le suivant :

Dans l'optique de générer un numéro unique à chaque nouvelle facture que nous produisons, mon ami et moi tentons des macros sur Exel sans succès.
En effet, nous voudrions par souci de cohérence avec nos précédentes facture (sans macros) que le numéro soit toujours de ce modèle "201507-03". C'est à dire l'année, puis le mois, sans slash, puis tiret, puis le numéro de facture du mois courant, de 01 à 99. De cette manière les factures seront toujours rangées dans un dossier dans l'ordre de l'année, puis du mois, puis du numéro de facture.

Après pléthore essais pour récupérer juste l'année sur la fonction AUJOURDHUI(), puis juste le mois etc.., sans succès, je m'en remets à vous. J'espère sincèrement que quelqu'un ici aura la solution à laquelle nous n'aurions pas pensé.

Merci d'avance pour votre aide !

Quentin

Suppression des majuscules dans le titre. La modération.
A voir également:

2 réponses

via55 Messages postés 14496 Date d'inscription mercredi 16 janvier 2013 Statut Membre Dernière intervention 22 novembre 2024 2 735
12 juil. 2015 à 23:26
Bonsoir

Macro générant le numéro et stockant dans une cellule le dernier quantième (ici en A1 de la 1ere feuille; à adapter à ta guise)
Sub numero()
If Month(Date) < 10 Then m = "0" & Month(Date) Else m = Month(Date)
num = Year(Date) & m & "-" & Sheets(1).Range("A1") + 1
Sheets(1).Range("A1") = Sheets(1).Range("A1") + 1
End Sub

0
Gyrus Messages postés 3334 Date d'inscription samedi 20 juillet 2013 Statut Membre Dernière intervention 9 décembre 2016 523
13 juil. 2015 à 09:39
Bonjour Qbosc,
bonjour via55,

Une proposition prenant en compte le changement de mois ou d'année :
Sub Test()
Dim Num_Facture As Integer
With Worksheets("Feuil1")
If CInt(Left(.Range("A1"), 4)) <> Year(Date) Or CInt(Mid(.Range("A1"), 5, 2)) <> Month(Date) Then
Num_Facture = 1
Else
Num_Facture = CInt(Right(.Range("A1"), Len(.Range("A1")) - 7)) + 1
End If
.Range("A1") = Year(Date) & Format(Month(Date), "00") & "-" & Format(Num_Facture, "00")
End With
End Sub

Rq : la cellule A1 doit avoir été initialisée avec un numerode facture du type "201507-03".

A+
0