Bonjour,
Pour la mise en place d'un formulaire d'enregistrement via VBA sur Excel (2007), je souhaite que le numéro chaque enregistrement s'actualise automatiquement à chaque nouvelle saisie. Le numéro se compose de la manière suivante : "PA-2015-1" ; "PA-2015-2" etc...
Pour cela, j'ai mis une en place une fonction (voir ci-dessous), où le numéro s'inscrit automatiquement dans une textbox à l'ouverture de mon userform. Mais cela ne fonctionne qu'en partie : pour chaque enregistrement, j'obtiens comme numéro "PA-2015-1". Le dernier chiffre reste "1" et je n'arrive pas à le faire passer à "PA-2015-2" "PA-2015-3"...
Voici la fonction que j'ai mise en place :
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
23
24
25
26
27
28
29
30
31
32
33
34 Function nouveau_num_pa() i = 1 dernier_numero = 0 annee = Year(Date) Do While Worksheets("Feuil1").Cells(i, 1) <> "" If Val(Mid(Worksheets("Feuil1").Cells(i, 1), 4, 4)) = annee Then If Val(Right(Worksheets("Feuil1").Cells(i, 1), Len(Worksheets("Feuil1").Cells(i, 1)) - 8)) > dernier_numero Then dernier_numero = Right(Worksheets("Feuil1").Cells(i, 1), Len(Worksheets("Feuil1").Cells(i, 1)) - 8) End If End If i = i + 1 Loop nouveau_num_pa = "PA-" & Year(Date) & "-" & dernier_numero + 1 End Function ________________________________________________________________ Private Sub UserForm_Initialize() TextBox1 = nouveau_num_pa End Sub ________________________________________________________________ Private Sub TextBox1_Change() [A2] = TextBox1 End Sub
Quelqu'un pourrait-il m'apporter son aide ?
Merci d'avance et bonne journée,
Mathieu
Partager