1) ta fonction n'est pas typée
2) ta fonction ne retourne rien
3) une fonction personnalisée doit être mise en publique dans un module standard
mets donc ceci dans un module standard
Public Function code_alea() As String ' -->> typée en String
Randomize
carac = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
For i = 1 To 6
nombre_aleatoire = Int(Len(carac) * Rnd) + 1
' et donne à la fonction ce qu'elle doit retourner
code_alea = code_alea & Mid(carac, nombre_aleatoire, 1)
If i = 3 Then code_alea = code_alea & "-"
Next
End Function
Et regarde ce que donne cette formule dans la cellule de ton choix :
= code_alea()
voilà tout.
EDIT : et ta fonction pourrait par ailleurs être écrite plus simplement ainsi :
Public Function code_alea() As String
Randomize
carac = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
For i = 1 To 6
code_alea = code_alea & Mid(carac, Int(Len(carac) * Rnd) + 1, 1)
Next
code_alea = Format(code_alea, "@@@-@@@")
End Function
________________________
Nul ne saurait valablement coder ce qu'il ne saurait exposer clairement.