N° de facture automatique après une partie fixe [Résolu/Fermé]

Messages postés
21
Date d'inscription
vendredi 26 janvier 2018
Statut
Membre
Dernière intervention
25 juin 2019
- - Dernière réponse : castours
Messages postés
2964
Date d'inscription
lundi 18 septembre 2006
Statut
Membre
Dernière intervention
31 août 2019
- 31 janv. 2018 à 21:21
Bonjour,

Je travaille actuellement sur une base de données Access pour mettre en chez un client.

J'aimerais savoir si c'est possible de mettre une numérotation automatique qui se met en place après une partie fixe

Ex :
2018/01/201
2018/01/202
2018/01/203

Dans l'attente de votre réponse,

Cordialement

Valentin



Afficher la suite 

2 réponses

Messages postés
8748
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 octobre 2019
436
0
Merci
bonsoir, cela me semble très possible, à condition d'être prêt à un peu programmer pour générer le contenu du champ au moment de la création de l'enregistrement.
valduf59000
Messages postés
21
Date d'inscription
vendredi 26 janvier 2018
Statut
Membre
Dernière intervention
25 juin 2019
1 -
comment ça ? dans ma table ? je n'ai pas encore d'enregistrements
J'ai préparé mes tables et je souhaite que le format soit :
Interv2018/01/.....
yg_be
Messages postés
8748
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 octobre 2019
436 -
comment les enregistrements seront-ils créés? par formulaire, par programme, ?
valduf59000
Messages postés
21
Date d'inscription
vendredi 26 janvier 2018
Statut
Membre
Dernière intervention
25 juin 2019
1 -
par formulaire j'ai trouvé une page d'explication mais j'ai fais toute manip et je ne sui pas sur que ça fonctionne
via un VBA
valduf59000
Messages postés
21
Date d'inscription
vendredi 26 janvier 2018
Statut
Membre
Dernière intervention
25 juin 2019
1 -
voila le codage vba pour le formulaire
' ---
' NUMEROTATION AUTOMATIQUE PERSONNALISEE
' ---
' Entrée : strTable <- Nom de la table.
' strField <- Nom du champ contenant le numéro
' strFormat <- Gabarit décrivant comment formater
' le numéro.
' intDigits <- Nombre de caractères pour le
' numéro proprement dit.
' dtDate <- Date de référence pour le calcul
' de l'année, du mois...
'
Function AutoNumber( _
ByVal strTable As String, _
ByVal strField As String, _
Optional ByVal strFormat As String = "", _
Optional ByVal intDigits As Integer = 4, _
Optional ByVal dtDate As Date = #1/1/100#)

' Quelques variables...
On Error GoTo AutoNumberErr
Dim varMarkers As Variant, varMark As Variant
Dim strCriteria As String
Dim strNum As String, lngNum As Long, strPart As String

' Quelques retraitements...
If dtDate = #1/1/100# Then dtDate = Now()
strField = "[" & strField & "]"
strFormat = Replace(strFormat, "'", "''")

' Marqueurs à remplacer
varMarkers = Array("YYYY", "YY", "Q", "MM", "WW", "DD")
For Each varMark In varMarkers
' Formater la date et l'injecter dans le template
strPart = Format(dtDate, varMark, vbMonday, vbFirstFourDays)
strFormat = Replace(strFormat, "[" & varMark & "]", _
Format(strPart, String(Len(varMark), "0")))
Next

' On cherche la valeur maximale déjà employée dans la table
strCriteria = strField & " LIKE '" & strFormat & "*'"
strNum = Nz(DMax(strField, strTable, strCriteria), "")

' On crée le nouveau numéro
lngNum = IIf(strNum = "", 1, Val(Mid(strNum, Len(strFormat) + 1)) + 1)
strFormat = strFormat & Format(lngNum, String(intDigits, "0"))

' Valeur finale
AutoNumber = strFormat
Exit Function

AutoNumberErr:
MsgBox "Erreur : " & Err.Description, vbCritical
AutoNumber = ""
Exit Function
End Function

Question secondaire : Des que le N° sera incrementez on est d'accord sur le fait que sa alimentera la table, et que des que je vais créer une nouvelle facture il va me mettre le numéro suivant ?
yg_be
Messages postés
8748
Date d'inscription
lundi 9 juin 2008
Statut
Contributeur
Dernière intervention
19 octobre 2019
436 > valduf59000
Messages postés
21
Date d'inscription
vendredi 26 janvier 2018
Statut
Membre
Dernière intervention
25 juin 2019
-
tu avances dans la bonne direction. je n'ai pas tout examiné, mais le but est, en effet, d'assigner le numéro suivant.
Messages postés
2964
Date d'inscription
lundi 18 septembre 2006
Statut
Membre
Dernière intervention
31 août 2019
167
0
Merci
bonjour
je l'ai fait dans formulaire en reunissant le n) auto puis la saison des cours.
peux tu mettre ta base compressée dans un lien de cjoint pour mieux voire ton probleme
merci