Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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:
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)
 
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

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
 
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

- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Code VBA
Réponses
10
Affichages
792
Réponses
10
Affichages
650
Réponses
2
Affichages
819
Réponses
1
Affichages
1 K
Retour