Bonjour à tous,
je me casse la tête sur un truc qui doit être tout con...
Je cherche à toruver le numéro d'incrément suivant à l'ouverture d'une userform.
L'incrément est de ce format suivant:
a = année
n = numéro incrément
aaaa-nnn si le numéro est <1000
aaaa-nnnn si le numéro est >= 1000
le problème c'est que dans mon code, je split pour trouver le nombre et j'ajoute un mais comme je traite ceci en nombre, excel me convertie par exemple 002 en 2 et du coup mon incrément prend ce format:
aaaa-n si n<10
aaaa-nn si n>=10
j'ai donc essayer de toruver ce code mais il ne fonctionne pas si le numéro d'avant se termine par 9, je m'explique,
si l'ancien numéro est 2016-009, je veux avoir dans ma textbox 2016-010 et mon code me donne 2016-0010
pour ilustrer tout ceci voici quelques exemples de ce que je voudrais avoir:
avant: 2016-001 après: 2016-002
avant: 2016-009 après: 2016-010
avant: 2016-011 après: 2016-012
avant: 2016-019 après: 2016-020
avant: 2016-999 après: 2016-1000
avant: 2016-1012 après: 2016-1013
J'espère avoir été clair
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 Private Sub UserForm_Initialize() Dim montableau() As String JD = Date DL = ThisWorkbook.Worksheets("Liste FIC").Cells(Rows.Count, 1).End(xlUp).Row + 1 montableau = Split(ThisWorkbook.Worksheets("Liste FIC").Cells(DL - 1, 1), "-") Me.TextBox8.Value = JD If DL = 3 Then INCREMENT = Year(JD) & "-" & "001" Me.TextBox1.Value = INCREMENT Else Select Case Len(montableau(1)) Case 3 If Mid(Right(montableau(1), 2), 1, 1) = 0 And Mid(Right(montableau(1), 3), 1, 1) = 0 Then INCREMENT = Year(JD) & "-00" & montableau(1) + 1 Me.TextBox1.Value = INCREMENT End If Case 4 INCREMENT = Year(JD) & "-" & montableau(1) + 1 Me.TextBox1.Value = INCREMENT End Select End If End Sub
merci d'avance de votre aide
Partager