Erreur d'exécution '13

erreur d execution 13

Bonjour chers membres,

Je suis nouveau sur ce forum et je veux bien apprendre.

J'ai un problème avec un code VBA. La partie en Jaune siglale une erreur d'exécution.

Ci-dessous le code en entier avec la partie en gras italique

Sub Nouveau_Proforma()
année = Year(Date)
mois = Format(Month(Date), "00")
ID = Right(Sheets("Proforma").Range("E8"), 4)
annéefacture = Mid(Sheets("Proforma").Range("E8"), 2, 4)

If Int(année) = Int(annéefacture) Then

Range("E8") = "Prof-" & annee & "-" & mois & "-" & Format(Int(ID) + 1, "0000")
Else
Range("E8") = "Prof-" & annee & "-" & mois & "-" & "0001"
End If
Sheets("Proforma").Range("E18:E31").Value = ""
Sheets("Proforma").Range("H18:J31").Value = ""
Sheets("Proforma").Range("I11").Value = ""

Bonjour,

Sans fichier, par facile.

Que contient la cellule E8 ?

Si je comprend bien, votre variable (annéefacture, variable que je déteste et que je remplacerais par anneeFacture), contient un truc du genre Prof-2024-01-0001, dans ce cas là votre variable devrait être

annéefacture = Mid(Sheets("Proforma").Range("E8"), 6, 4)

Cdt

Merci mon cher pour votre aide.

Je joint le fichier.

C'est le numero de la facture proforma qui est dans E8

10proforma.xlsm (97.88 Ko)

Vérifiez vos données, il n'y a pas d'année dans la cellule.

Vous tentez, dans votre code de typer une variable en integer alors que c'est du texte.

annee = Year(Date)

Pouvez vous voir s'il vout plaît avec le fichier pour adapter le code le fait de générer les numéro de facture comprenant " Prof-annee-mois-0001".

Le 0001 est à incrémenter courant l'année et dès que l'année change, le numero revient à 0001.

Merci

6proforma.xlsm (79.09 Ko)
Rechercher des sujets similaires à "erreur execution"