Microsoft 365 Numérotation automatique d'un bon commande avec code VBA

Tomasisco21

XLDnaute Nouveau
Bonjour à tous.
Je suis présentement entrain de finaliser un bon de commande automatisé pour l'entreprise,
J'aimerais avoir un code VBA qui me permet d'avoir une suite automatique pour les n° de bons de commandes sous format "27-04-2022-149" (en jaune) ?

- "27-04-2022" (Date de début)
- "149" (numéro pour commencer)

D'avancer merci pour votre aide.
 

Pièces jointes

  • Test example.xlsm
    100.5 KB · Affichages: 11
Solution
Bonjour Thomas,
Un essai en PJ avec :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, [J5]) Is Nothing Then
        Application.EnableEvents = False
        [J5] = Format(Date, "dd-mm-yyyy-") & Val(Split(Target, "-")(3)) + 1
        [K5].Select
    End If
    Application.EnableEvents = True
End Sub
Le changement se fait en cliquant sur J5, c'est automatique.
Pour le numéro je pars de 149 et ça s'incrémente.
ce numéro s'incrémente quelque soit le jour en cours. Il n'y a pas de remise à zéro quand le jour change. Comme ce n'était pas précisé ...

sylvanu

XLDnaute Barbatruc
Supporter XLD
Bonjour Thomas,
Un essai en PJ avec :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, [J5]) Is Nothing Then
        Application.EnableEvents = False
        [J5] = Format(Date, "dd-mm-yyyy-") & Val(Split(Target, "-")(3)) + 1
        [K5].Select
    End If
    Application.EnableEvents = True
End Sub
Le changement se fait en cliquant sur J5, c'est automatique.
Pour le numéro je pars de 149 et ça s'incrémente.
ce numéro s'incrémente quelque soit le jour en cours. Il n'y a pas de remise à zéro quand le jour change. Comme ce n'était pas précisé ...
 

Pièces jointes

  • Test example.xlsm
    92.9 KB · Affichages: 17

Tomasisco21

XLDnaute Nouveau
Bonjour Thomas,
Un essai en PJ avec :
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, [J5]) Is Nothing Then
        Application.EnableEvents = False
        [J5] = Format(Date, "dd-mm-yyyy-") & Val(Split(Target, "-")(3)) + 1
        [K5].Select
    End If
    Application.EnableEvents = True
End Sub
Le changement se fait en cliquant sur J5, c'est automatique.
Pour le numéro je pars de 149 et ça s'incrémente.
ce numéro s'incrémente quelque soit le jour en cours. Il n'y a pas de remise à zéro quand le jour change. Comme ce n'était pas précisé ...
Whaouoo, super exactement ce que je voulais : T'es un bon M. Sylvanu
 

Discussions similaires