Bonjour,
Je souhaite incrémenter automatiquement un numéro de facture dans un tableau Excel.
Il doit se présenter sous la forme :
2018-11-01
2018-11-02
etc
avec une réinitialisation du numéro de facture à chaque changement de mois et ou d’année.
Cela fonctionne plutôt bien avec le débugger de VBA mes variables me renvoient les bonnes valeurs, en revanche dans la cellule excel elle se met en format date et ne respecte pas du tout le code que j’ai envoyé.
Voici ce que j’ai écrit ;
Sub nouveau_num_fact()
annee = Year(Date)
mois = Month(Date)
num = Right(Sheets(“Facture”).Range(“C6”), 1) + 1
Sheets(“Facture”).Range(“C6”).Value = Format(annee, “yyyy”) & “-” & Format(mois, “mm”) & “-” & Format(num, 0)
Bonjour,
Petite question
Le contenu de la cellule C6 (je pense que c’est celui qui contient le numéro de la facture) est-il en texte ou en nombre?
Je te propose le code suivant
Sub nouveau_Numfact()
Dim annee As long, mois As long, num As Long
annee = Year(Date)
mois = Month(Date)
num = CInt(Right(ActiveSheet.Range(“c6”), 2)) + 1
ActiveSheet.Range(“C6”).Value = CStr(annee) & “-” & CStr(mois) & “-” & CStr(Format(num, “00”))
End Sub
Le résultat s’affiche bien comme tu le souhaites
La fonction VB CStr convertit une expression en chaîne de caractères