OVH Cloud OVH Cloud

Générateur de chiffres et lettres aléatoires

4 réponses
Avatar
Alberto
Bonsoir

Je dois générer environ 300 codes constitués chacun d'une suite de 25
chiffres et lettres, et sans aucun doublon, chaque code étant destiné à
l'identification d'un utilisateur de mon application. (Je m'explique :
chaque utilisateur a un code d'enregistrement fourni par moi-même, et
lorsqu'il installe l'application sur son PC on lui demande la saisie de ce
code, lequel par correspondance "code/utilisateur" paramètre les tables de
l'application en fonction des données dont cet utilisateur a besoin).

Alors plutot que de les taper à la main ces 300 et quelques séries de 25
caractères (chacune devant être unique de surcroit), je me suis dit que peut
être y avait-il moyen de créer un outil capable de les générer.

J'ai fait quelques essais, par le biais de modules, mais j'avoue que je n'ai
pas la solution.

Si quelqu'un peut m'aiguiller sur la bonne voie merci.

4 réponses

Avatar
Raymond [mvp]
Bonsoir.

je te donne le premier pas pour calculer les 300 nombres aléatoires de 25
caractères, à toi de rajouter le test des doublons dans chaque nombre.
Option Compare Database
Option Explicit

Dim Série(35)
Dim I As Integer
Dim J As Integer
Dim Passe As String

Private Sub Commande0_Click()
Initial
Randomize
For J = 1 To 300
Passe = Nombre(25)
Debug.Print Passe
Next J
End Sub

Public Function Initial()
Série(0) = "0": Série(1) = "1": Série(2) = "2": Série(3) = "3"
Série(4) = "4": Série(5) = "5": Série(6) = "6": Série(7) = "7"
Série(8) = "8": Série(9) = "9": Série(10) = "a": Série(11) = "b"
Série(12) = "c": Série(13) = "d": Série(14) = "e": Série(15) = "f"
Série(16) = "g": Série(17) = "h": Série(18) = "i": Série(19) = "j"
Série(20) = "k": Série(21) = "l": Série(22) = "m": Série(23) = "n"
Série(24) = "o": Série(25) = "p": Série(26) = "q": Série(27) = "r"
Série(28) = "s": Série(29) = "t": Série(30) = "u": Série(31) = "v"
Série(32) = "w": Série(33) = "x": Série(34) = "y": Série(35) = "z"
End Function

Public Function Nombre(Optional occurs As Integer = 1) As String
Nombre = ""
If occurs = 0 Then occurs = 1
For I = 1 To occurs
Nombre = Nombre & Série(Int((35 * Rnd) + 1))
Next I
End Function




--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Alberto" a écrit dans le message de
news:
Bonsoir

Je dois générer environ 300 codes constitués chacun d'une suite de 25
chiffres et lettres, et sans aucun doublon, chaque code étant destiné à
l'identification d'un utilisateur de mon application. (Je m'explique :
chaque utilisateur a un code d'enregistrement fourni par moi-même, et
lorsqu'il installe l'application sur son PC on lui demande la saisie de ce
code, lequel par correspondance "code/utilisateur" paramètre les tables de
l'application en fonction des données dont cet utilisateur a besoin).

Alors plutot que de les taper à la main ces 300 et quelques séries de 25
caractères (chacune devant être unique de surcroit), je me suis dit que
peut
être y avait-il moyen de créer un outil capable de les générer.

J'ai fait quelques essais, par le biais de modules, mais j'avoue que je
n'ai
pas la solution.

Si quelqu'un peut m'aiguiller sur la bonne voie merci.



Avatar
Alberto
Encore une fois, un grand merci Raymond.

Je vais essayer ça de ce pas.


Bonsoir.

je te donne le premier pas pour calculer les 300 nombres aléatoires de 25
caractères, à toi de rajouter le test des doublons dans chaque nombre.
Option Compare Database
Option Explicit

Dim Série(35)
Dim I As Integer
Dim J As Integer
Dim Passe As String

Private Sub Commande0_Click()
Initial
Randomize
For J = 1 To 300
Passe = Nombre(25)
Debug.Print Passe
Next J
End Sub

Public Function Initial()
Série(0) = "0": Série(1) = "1": Série(2) = "2": Série(3) = "3"
Série(4) = "4": Série(5) = "5": Série(6) = "6": Série(7) = "7"
Série(8) = "8": Série(9) = "9": Série(10) = "a": Série(11) = "b"
Série(12) = "c": Série(13) = "d": Série(14) = "e": Série(15) = "f"
Série(16) = "g": Série(17) = "h": Série(18) = "i": Série(19) = "j"
Série(20) = "k": Série(21) = "l": Série(22) = "m": Série(23) = "n"
Série(24) = "o": Série(25) = "p": Série(26) = "q": Série(27) = "r"
Série(28) = "s": Série(29) = "t": Série(30) = "u": Série(31) = "v"
Série(32) = "w": Série(33) = "x": Série(34) = "y": Série(35) = "z"
End Function

Public Function Nombre(Optional occurs As Integer = 1) As String
Nombre = ""
If occurs = 0 Then occurs = 1
For I = 1 To occurs
Nombre = Nombre & Série(Int((35 * Rnd) + 1))
Next I
End Function




--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Alberto" a écrit dans le message de
news:
Bonsoir

Je dois générer environ 300 codes constitués chacun d'une suite de 25
chiffres et lettres, et sans aucun doublon, chaque code étant destiné à
l'identification d'un utilisateur de mon application. (Je m'explique :
chaque utilisateur a un code d'enregistrement fourni par moi-même, et
lorsqu'il installe l'application sur son PC on lui demande la saisie de ce
code, lequel par correspondance "code/utilisateur" paramètre les tables de
l'application en fonction des données dont cet utilisateur a besoin).

Alors plutot que de les taper à la main ces 300 et quelques séries de 25
caractères (chacune devant être unique de surcroit), je me suis dit que
peut
être y avait-il moyen de créer un outil capable de les générer.

J'ai fait quelques essais, par le biais de modules, mais j'avoue que je
n'ai
pas la solution.

Si quelqu'un peut m'aiguiller sur la bonne voie merci.









Avatar
Alberto
Ca marche au poil !

Merci Raymond


Bonsoir.

je te donne le premier pas pour calculer les 300 nombres aléatoires de 25
caractères, à toi de rajouter le test des doublons dans chaque nombre.
Option Compare Database
Option Explicit

Dim Série(35)
Dim I As Integer
Dim J As Integer
Dim Passe As String

Private Sub Commande0_Click()
Initial
Randomize
For J = 1 To 300
Passe = Nombre(25)
Debug.Print Passe
Next J
End Sub

Public Function Initial()
Série(0) = "0": Série(1) = "1": Série(2) = "2": Série(3) = "3"
Série(4) = "4": Série(5) = "5": Série(6) = "6": Série(7) = "7"
Série(8) = "8": Série(9) = "9": Série(10) = "a": Série(11) = "b"
Série(12) = "c": Série(13) = "d": Série(14) = "e": Série(15) = "f"
Série(16) = "g": Série(17) = "h": Série(18) = "i": Série(19) = "j"
Série(20) = "k": Série(21) = "l": Série(22) = "m": Série(23) = "n"
Série(24) = "o": Série(25) = "p": Série(26) = "q": Série(27) = "r"
Série(28) = "s": Série(29) = "t": Série(30) = "u": Série(31) = "v"
Série(32) = "w": Série(33) = "x": Série(34) = "y": Série(35) = "z"
End Function

Public Function Nombre(Optional occurs As Integer = 1) As String
Nombre = ""
If occurs = 0 Then occurs = 1
For I = 1 To occurs
Nombre = Nombre & Série(Int((35 * Rnd) + 1))
Next I
End Function




--
@+
Raymond Access MVP
http://OfficeSystem.Access.free.fr/
http://users.skynet.be/mpfa/ pour débuter sur le forum


"Alberto" a écrit dans le message de
news:
Bonsoir

Je dois générer environ 300 codes constitués chacun d'une suite de 25
chiffres et lettres, et sans aucun doublon, chaque code étant destiné à
l'identification d'un utilisateur de mon application. (Je m'explique :
chaque utilisateur a un code d'enregistrement fourni par moi-même, et
lorsqu'il installe l'application sur son PC on lui demande la saisie de ce
code, lequel par correspondance "code/utilisateur" paramètre les tables de
l'application en fonction des données dont cet utilisateur a besoin).

Alors plutot que de les taper à la main ces 300 et quelques séries de 25
caractères (chacune devant être unique de surcroit), je me suis dit que
peut
être y avait-il moyen de créer un outil capable de les générer.

J'ai fait quelques essais, par le biais de modules, mais j'avoue que je
n'ai
pas la solution.

Si quelqu'un peut m'aiguiller sur la bonne voie merci.









Avatar
Rafi
"Raymond [mvp]" a écrit dans le
message de news:%
| Bonsoir.
|
| je te donne le premier pas pour calculer les 300 nombres aléatoires de
25
| caractères, à toi de rajouter le test des doublons dans chaque nombre.


J'avais un problème un peu ressemblant. Je devais générer des identités
de personnes de façon aléatoire et sans doublon.

Plutôt que de faire un test de doublon à chaque identité, j'ai défini un
index unique sur l'identité en désactivant le message d'erreur en cas
d'insertion d'une identité en double.