Sub Nouvelle_Facture()
'Incrémentation numéro de facture
Dim Numero As String, Tempo As String, Ancien As String
Dim Date_Rupture As String, Lecture_Date As String
'Lecture de la date
Lecture_Date = Date
'-----------------------------------------------------------------------------------------------------------
'Permet un test sans dérégler le calendrier système
'Partie à supprimer ou mettre en commentaire
Lecture_Date = InputBox("Pour la simulation de fonctionnement , veuillez entrée la date courante du test")
'-----------------------------------------------------------------------------------------------------------
Date_Rupture = "31/03/" & Year(Lecture_Date) 'Comme pour les anniversaire cela change tout les ans
If DateDiff("d", Lecture_Date, Date_Rupture) > 0 Then
Ancien = 1
Else
'Reprise du dernier numero
'Tempo = stockage ' Fichier texte indépendant ou feuille de suivi Excel ou derniere facture
' ou tout autre moyen de mémorisation
'Là, je choisi une feuille de suivi où les factures seraient archivées dans l'onglet suivi
'classées chronologiquement et où le numéro de facture serait la donnée stockée dans la colonne A.
Ancien = Sheets("Suivi").Range("A" & Rows.Count).End(xlUp)
'Si num existant , alors ou découpe pour récupérer la partie à incrémenter
If InStr(1, Ancien, "-") > 0 Then
Ancien = Split(Ancien, "-")(1)
Else
' Si n'existe pas , il faut bien commencer
Ancien = 0
End If
End If
'Incrémente le résultat et le complémente sur 3 chiffres
Tempo = Right("00" & Ancien + 1, 3)
'Calcul de la racine du nouveau numéro
Numero = Year(Lecture_Date) & Month(Lecture_Date) & "-" & Tempo
'On mémorise ici ou en fin de construction nouvelle facture
Sheets("Suivi").Range("A" & Rows.Count).End (xlUp) + 1 = Numero
'Ici partie perso de mise en l'état des cellules dans la nouvelle facture
'ex :
With Sheets("Facture")
.Range("B3") = Numero
.Range("F2") = WeekdayName(Weekday(Lecture_Date, vbMonday)) & " " & Lecture_Date
'ETC
End With
End Sub