Créer un ID avec date et incrémentation

Bonjour,

je suis entrain de travailler sur un fichier qui utiliser un userform pour remplir des lignes, à la manière d'un database, où chaque ligne est un dossier différent. Je ne travaille pas beaucoup avec VBA, certaines fonctions sont donc très obscures pour moi...

Il faut que la première cellule contienne le numéro du dossier sur la forme AAMM-###. Ainsi, le 1er dossier d'octobre serait 1010-001. Le 125e serait 1010-125 et le 13e de février 2011 serait 1102-013.

J'ai réussi à placer le numéro de dossier avec la date. Mais impossible de placer l'incrémentation.

Private Sub CommandButton1_Click()

Dim LValue As Date
    LValue = Now
Dim iRow As Long
Dim ws As Worksheet
Set ws = Worksheets("Principal")

'find first empty row in database
iRow = ws.Cells(Rows.Count, 1) _
  .End(xlUp).Offset(1, 0).Row

'copy the data to the database
ws.Cells(iRow, 1).Value = Format(Now, "YYMM") & Format(-1, "000")
ws.Cells(iRow, 2).Value = Me.TextBox1.Value
ws.Cells(iRow, 3).Value = Me.TextBox2.Value
ws.Cells(iRow, 4).Value = Me.TextBox3.Value
ws.Cells(iRow, 5).Value = Me.TextBox4.Value
ws.Cells(iRow, 6).Value = Me.TextBox7.Value
ws.Cells(iRow, 7).Value = Me.TextBox8.Value
ws.Cells(iRow, 8).Value = Me.TextBox9.Value
ws.Cells(iRow, 9).Value = Me.TextBox10.Value
ws.Cells(iRow, 10).Value = Me.TextBox11.Value
ws.Cells(iRow, 11).Value = Me.TextBox12.Value
ws.Cells(iRow, 12).Value = Me.TextBox13.Value
ws.Cells(iRow, 13).Value = Me.TextBox14.Value
ws.Cells(iRow, 14).Value = Me.TextBox5.Value
ws.Cells(iRow, 15).Value = Me.TextBox6.Value
ws.Cells(iRow, 18).Value = Me.TextBox16.Value
ws.Cells(iRow, 19).Value = LValue
ws.Cells(iRow, 24).Value = Me.TextBox15.Value

Unload Me

End Sub

Pourriez-vous m'aider à ce que chaque nouveau dossier monte de 1 tout en gardant la date et que, au mois suivant, le premier dossier créé reprenne à 001?

Merci à celui qui saura me sauver!

Simon

Bonsoir,

Comme je n'ai pas d'userform, et que je n'ai nullement l'envie d'en créer un, je peux te proposer cette solution...

Dim VarMois As String, ExVarMois As String
Dim DerCel As Range
Set DerCel = [A65000].End(xlUp)
ExVarMois = Left(DerCel, 4)
VarMois = Format(Date, "yymm")
If ExVarMois = VarMois Then
    DerCel.AutoFill Destination:=DerCel.Resize(2, 1), Type:=xlFillDefault
Else
    DerCel.Offset(1) = VarMois & "-001"
End If

Maintenant, à toi de l'adapter dans ton code....

Si souci, n'hésite pas...

Bonne journée

Merci, ça fonctionne comme une charme!

Rechercher des sujets similaires à "creer date incrementation"