XL 2019 code vba

VinceARomiac

XLDnaute Nouveau
Hello Bonjour a tous,

Je suis nouveau

J'ai un petit soucis avec mon code VBA , et je vous prie de bien vouloir m'assister , c'est une systeme de facture , qui grace ce code me permet de numeroter au niveau superieur la facture voici le code


Sub nouveau_devis()

annee = Year(Date)
mois = Format(Month(Date), "00")
ID = Right(Sheets("Devis").Range("J10"), 4)
anneeFacture = Mid(Sheets("Devis").Range("J10"), 2, 4)


If Int(annee) = Int(anneeFacture) Then
Range("J10") = "F" & annee & "-" & mois & "-" & Format(Int(ID) + 1, "0000")
Else
Range("J10") = "F" & annee & "-" & mois & "-" & "0001"
End If


Sheets("Devis").Range("F20:F32").Value = ""
Sheets("Devis").Range("I20:I32").Value = ""
Sheets("Devis").Range("I14").Value = ""

End Sub
 
Dernière édition:

herve62

XLDnaute Barbatruc
Supporter XLD
Bonsoir
Vu qu'il n'y a pas de fichier joint ?? ( ce qu'on demande ici en 1er !!)
Je ne vois pas ce que tu veux faire ???
Sinon impossible d'avoir l'égalité tel quel du > If Int(annee) = Int(anneeFacture) ????
A la rigueur , je ne vois que ça de potable qui serait parlant au cas ou en J10 on ai une date classique du genre> 12/05/2023
VB:
anneeFacture = Mid(Sheets("Devis").Range("J10"), 7, 4)
 

VinceARomiac

XLDnaute Nouveau
Hello Bonjour a tous,

Je suis nouveau je suis Gue Sanz Stephane .

J'ai un petit soucis avec mon code VBA , et je vous prie de bien vouloir m'assister , c'est une systeme de facture , qui grace ce code me permet de numeroter au niveau superieur la facture voici le code


Sub nouveau_devis()

annee = Year(Date)
mois = Format(Month(Date), "00")
ID = Right(Sheets("Devis").Range("J10"), 4)
anneeFacture = Mid(Sheets("Devis").Range("J10"), 2, 4)


If Int(annee) = Int(anneeFacture) Then
Range("J10") = "F" & annee & "-" & mois & "-" & Format(Int(ID) + 1, "0000")
Else
Range("J10") = "F" & annee & "-" & mois & "-" & "0001"
End If


Sheets("Devis").Range("F20:F32").Value = ""
Sheets("Devis").Range("I20:I32").Value = ""
Sheets("Devis").Range("I14").Value = ""

End Sub
 

Pièces jointes

  • Application.xlsm
    45.3 KB · Affichages: 9

Phil69970

XLDnaute Barbatruc
Re

Le fichier fournit ne correspond pas au code dans le code tu parles de J10 et dans le devis c'est J9 ?
1684166420110.png

De plus il manque surement des feuilles dans ton fichier ==> la feuille facture entre autre .....

Quand on fournit un fichier il doit être représentatif .....

Et j'ai pas eu la réponse complète !!!

Combien de facture au maximum tu fais par mois ?

@Phil69970
 

ChTi160

XLDnaute Barbatruc
Re
je n'ai pas encore regardé le Fichier de Phil mais j'y vais Lol

une modification Possible du Code de Stephane :
VB:
Dim StrFacture$, ID As Integer, AnneeFacture As Integer
StrFacture = 1
With Sheets("Devis")
    If .Range("J9") <> Empty Then
                       ID = Right(.Range("J9"), 4) 'on récupére l'index de la facture
        AnneeFacture = Mid(.Range("J9"), 2, 4) 'on récupére l'année du Numéro de la Facture
    End If
End With
          StrFacture = IIf(Int(Year(Date)) = Int(AnneeFacture), Int(ID) + 1, StrFacture)
       Range("J9") = "F" & Format(Date, "yyyy-mm-") & Format(StrFacture, "0000")
    StrFacture = Empty
edit :
je viens de voir le Code De Phil et on a pensé à la formater autrement à partir de la Date Moi et de Now et Month() pour Phil
Code:
"D" & Year(Now) & "-" & Format(Month(Date), "00") & "-"
et moi
Code:
 "F" & Format(Date, "yyyy-mm-")
Je n'avais pas regardé que le Dernier Numéro de Facture était en feuille Paramètre Lol
Jean marie
 

Phil69970

XLDnaute Barbatruc
Re

C'est uniquement si tu veux adapté sur la partie facture

Petite modif pour que cela fonctionne sur la facture ==> la partie tout mâché !!!!
*Jai supposé que tu as une feuille qui s'appelle "Facture" sinon il faudra adapter la partie pré-mâché ;)

Je t'ai tout mâché pour faire la même chose sur la facture .... ;)

Et pour la réinitialisation
Merci c'est ok , mais neanmoins lorsque le numero passe au suivant la facture ne se reinitialise pas , je vais ajouter un code pour y remedier
Tu rajoutes ceci (la partie en rouge)

annuler_devis
End sub

J'ai fait la modif sur la V2 ....



@Phil69970
 

Pièces jointes

  • Numero Devis V2.xlsm
    47.5 KB · Affichages: 9

Statistiques des forums

Discussions
312 216
Messages
2 086 351
Membres
103 195
dernier inscrit
martel.jg