Renvoi d'un format date et texte à partir de VBA vers Excel


#1

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)

End Sub

Et voici ce que j’obtient en C6 ; 10/01/1905

Pourriez-vous m’aider ?
D’avance merci
Chris


#2

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

Bien à toi


#3

Bonjour,

Merci pour ta réactivité, cela fonctionne nickel.

Bonne journée

Chris

Le mer. 7 nov. 2018 à 10:02, CORDIER Etienne contact@formuleexcel.com a écrit :


#4

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.