Résolu Excel VBA: Format d'ID spécifique avec incrémentation automatique

Nanouna619

Nouveau membre
Bonjour à tous,

J'ai un petit souci, mon code est actuellement fonctionnel mais je voudrais changer le format de mon N° d'Affaire en conservant mon incrémentation automatique suivante?


Comment changer le format Le n° d'affaire est de type 00001,... Dans l'idéal, il devrait être du type AA/MM/00001,AA/MM/00002,..

Dim NoEnreg As Integer

NoEnreg = Range("Affaires!A20000").End(xlUp).Row 'Incrémente n° d'affaire
TextBox1.Value = NoEnreg

Est-il possible que la generation du n° d'affaire prenne en compte la date du jour?


Merci pour votre aide,

Nanouna
 

tantal_fr

Grand Maître
Bonjour,

Peux-tu editer ton message et mettre ton code entre les balises [code=vb][/code] pour plus de lisibilité.

Après, regarde les fonctions Date et Format de VBA. Il suffit, alors, de concaténer les chaines avec l'opérateur &
 

Nanouna619

Nouveau membre
Bonjour,

Voici mon code présenté plus lisiblement. J'ai trouvé le format date adequate et utilize le &, mais du coup je perds mon incrémentation automatique. Grrrrrr!
Code:
Public Sub UserForm_initialize()


Dim NoEnreg As Integer
'Dim NoAff As Integer

NoEnreg = Range("Affaires!A20000").End(xlUp).Row  'Incrémente n° d'affaire
TextBox1.Value = NoEnreg
    
'NoEnreg = NoEnreg + 1      'Essai non concluant

TextBox1.Value = Format(Now, "YYMM") & Format(1, "0000")



'TextBox1.Value = Format(Now, "YYMM") & Format("000") + 1         'Essai non concluant

TextBox5 = Now()     'Insère Date et Heure dansTextBox5

End Sub

J'imagine que je dois définir la deuxième partie de mon NoEnreg pour qu'il soit incrémenté, mais je ne trouve pas comment.

Quelqu'un aurait une idée svp?

Nanouna

 

tantal_fr

Grand Maître
Meilleure réponse
Bonjour Nanouna,

Pourquoi n'utilise-tu pas ta variable NoEnreg dans ta textbox, ce serait pas ça plutôt :
Code:
TextBox1.Value = Format(Now, "YYMM") & Format(NoEnreg, "0000")

 

Nanouna619

Nouveau membre
Ca marche :) Un grand merci tantal, je suis dessus depuis des heures à tout retourner dans tous les sens. Evidemment, maintenant que tu le dis, c'est logique!!!
Une petite question pour être sure: le 01/02/14 ma prelière affaire crée aura le NoEnreg 1402000"dernièreligne"?
 

tantal_fr

Grand Maître
Si la dernière ligne de ton tableau est la ligne 10, tu aura : 14020010.
Je viens de voir cette ligne :
Code:
NoEnreg = Range("Affaires!A20000").End(xlUp).Row  'Incrémente n° d'affaire
Je ne peux tester, mais je ne suis pas sûr que ça marche, je préfère :
Code:
NoEnreg = Worksheet("Affaires").Range("A20000").End(xlUp).Row  'Incrémente n° d'affaire
 
Vous devez vous inscrire ou vous connecter pour répondre ici.
Derniers messages publiés
Statistiques globales
Discussions
730 128
Messages
6 717 846
Membres
1 586 373
Dernier membre
https://forum.tomshardwar
Partager cette page
Haut