Entier sur 3 chiffres ? [Résolu]

julienbouchot 7 Messages postés jeudi 16 juillet 2009Date d'inscription 24 juillet 2009 Dernière intervention - 16 juil. 2009 à 05:48 - Dernière réponse : cs_ghuysmans99 3983 Messages postés jeudi 14 juillet 2005Date d'inscription 30 juin 2013 Dernière intervention
- 16 juil. 2009 à 19:50
Bonjour

je suis en train d'améliorer un système d'enregistrement et d'édition de fax.
Le principe est simple :
L'utilisateur ouvre un modèle, un popup apparait sous forme d'un formulaire. Il doit remplir ensuite l'expéditeur, l'id du projet, l'objet du fax, etc...
Après validation, l'entête est directement remplie et le word est sauvegardé dans un dossier automatiquement.
La nomenclature est la suivante
F_IDCHRONO_SUJET
L'id chrono doit etre sur 3 chiffres. (001, 002, etc).
Ce n'est ni plus ni moins qu'un simple auto-incrément, calculé à partir du dernier document edité.

Actuellement mon problème est le suivant, je n'arrive pas à forcer cet id sur 3 chiffres. Comment puis-je faire svp ?
Dois-je passer par un integer plutot qu'un string ?
Ci joint le code :

Public Sub MAIN()
Dim titre_dlg$
Dim chrono$


[....]

If type_chro$ = "F" Then
fich_nom$ = "F" + chrono$ + "_" + objet$ + ".doc"
full_path$ = "U:\Macro FAX\FAXS" + fich_nom$
End If

'Sauvegarde du document dans le dossier de stockage.
ActiveDocument.SaveAs full_path$
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
cs_ghuysmans99 3983 Messages postés jeudi 14 juillet 2005Date d'inscription 30 juin 2013 Dernière intervention - 16 juil. 2009 à 06:57
3
Merci
Quelque chose comme ça, non ?
Public Function NumPrefix(Num As Integer, Chiffres As Byte) As String
 Dim tmp As String, l As Byte
 tmp = CStr(Num)
 l = Len(tmp)
 If l < Chiffres Then
  tmp = String(Chiffres - l, "0") & tmp
 End If
 NumPrefix = tmp
End Function


---
VB.NET is good ... VB6 is better

Merci cs_ghuysmans99 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 89 internautes ce mois-ci

Commenter la réponse de cs_ghuysmans99
Meilleure réponse
jmf0 1566 Messages postés mardi 26 décembre 2000Date d'inscription 5 avril 2013 Dernière intervention - 16 juil. 2009 à 07:27
3
Merci
Bonjour,

Dim toto As Integer
toto = 23
MsgBox Format(toto, "00#")

Merci jmf0 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 89 internautes ce mois-ci

Commenter la réponse de jmf0
julienbouchot 7 Messages postés jeudi 16 juillet 2009Date d'inscription 24 juillet 2009 Dernière intervention - 16 juil. 2009 à 08:01
0
Merci
Merci beaucoup pour votre aide à tous les 2 !

La fonction NumPrefix est perfect héhé :)

Bonne continuation à bientôt

Julien
Commenter la réponse de julienbouchot
cs_ghuysmans99 3983 Messages postés jeudi 14 juillet 2005Date d'inscription 30 juin 2013 Dernière intervention - 16 juil. 2009 à 19:50
0
Merci
@jmf0 : Ah j'y avais même pas pensé ...

---
VB.NET is good ... VB6 is better
Commenter la réponse de cs_ghuysmans99

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.