Bonjour la communauté, Comme annoncé dans le titre
je veux générer des matricules de type alphanumérique
a) Je génère un nombre aléatoire de 5 chiffre par la fonction GenereMotDePasse("1234567890", 5)
b) Je génère ensuite 3 lettres aussi aléatoire par la même fonction GenereMotDePasse("ABCDEFGHIJKLMNOPQRSTUVWXYZ", 3)
c) Je dois maintenant placé ces lettres une à une entre les nombres
Exemple : (pour 12A34B5C, ça donne Nombre : 12345 et Lettre : ABC)
Voici un début de code pour correction
Merci d'avance...
pgCombinaisonNombreEtLettre(nNombre est un entier, sLettre est une chaîne = "")
nTailleNombre est un entier = Taille(nNombre)
nTailleLettre est un entier = Taille(sLettre)
nSeparateur est un entier = PartieEntière(nTailleNombre/nTailleLettre)
sNbreDeChiffres est une chaîne = NumériqueVersChaîne(nNombre)
sResultat est une chaîne
nCompteur est un entier = 1
TANTQUE nCompteur < nTailleNombre
sResultat += ["A"] + Milieu(sNbreDeChiffres, nCompteur, nSeparateur)
nCompteur += nSeparateur
FIN
Je me répond
J'ai trouvé une solution peu commode, je mets le code pour plus d'appréciation...
pgCombinaisonNombreEtLettre(LOCAL sNombre est une chaîne, LOCAL sLettre est une chaîne)
// Position de l'insertion
nPosInsertion est un entier
// Nombre de décomposition
nSeparateur est un entier
// Déclaration d'une variable chaine
sChaineCombinee est une chaîne
// Calcul la taille de chaque valeurs
nTailleNombre est un entier = Taille(sNombre)
nTailleLettre est un entier = Taille(sLettre)
// Chaine après insertion
sChaineResultat est une chaîne
// Conversion du nombre en chaine
sChaineResultat = NumériqueVersChaîne(sNombre)
// Premier point d'insertion
nSeparateur = Val(PartieEntière(nTailleNombre/nTailleLettre)) + 1
// Parcourir toutes les lettres
POUR nCompteur = 1 _À_ nTailleLettre
// Texte à insérer
sTexteInsere est une chaîne = sLettre[nCompteur]
// Calcul la position de l'insertion
nPosInsertion = nCompteur * nSeparateur
// Insertion des lettres
sChaineCombinee = ChaîneInsère(sChaineResultat, sTexteInsere, nPosInsertion)
// Nouvelle valeur
sChaineResultat = sChaineCombinee
FIN
// Renvoie la nouvelle valeur
RENVOYER sChaineResultat