Un numero automatique specialiser sur Excel

Je souhaite créer un numéro automatique sur VBA pour utiliser dans access. Et que le numéro soit fait sur un ensemble de nom et prénom existant. écrit deja dans des feuilles excel.

Private Sub Commande12_Click()

Dim strCode As String

Dim strPrefixe As String

' Vérifier que le nom et le prénom

' sont renseignés, puisqu'ils servent

' dans le préfixe de numérotation

If IsNull(Me.nom_personne) Or IsNull(Me.prenom_personne) Then

MsgBox "Le nom et le prénom doivent être renseignés !", vbExclamation

Cancel = True

Exit Sub

End If

' Préfixe à utiliser pour la numérotation

strPrefixe = UCase(Left(Me.nom_personne, 3) & Left(Me.prenom_personne, 3))

' Numérotation

If IsNull(Me.code_personne) Then

Me.code_personne = AutoNumber("Personne", "code_personne", strPrefixe, 4)

End If

End Sub

Private Sub Form_BeforeUpdate(Cancel As Integer)

End Sub

Private Sub Form_Load()

End Sub

et voici la fonction

Option Compare Database

Function AutoNumber( _

ByVal strTable As String, _

ByVal strField As String, _

Optional ByVal strFormat As String = "", _

Optional ByVal intDigits As Integer = 4)

' Quelques variables...

Dim varMarkers As Variant, varMark As Variant

Dim strCriteria As String

Dim strNum As String, lngNum As Long, strPart As String

' Quelques retraitements...

strField = "[" & strField & "]"

strFormat = Replace(strFormat, "'", "''")

' 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

End Function

et voici le lien qui vous permettera de comprendre

Rechercher des sujets similaires à "numero automatique specialiser"