Formateurs, développeurs, testeurs de programmes, nous sommes tous confrontés à des listes de données
La fonction ALEA.ENTRE.BORNES permet de générer des noms, prénoms, dates ou toutes autres données d'une façon aléatoire.
La formule a pour but de générer un nombre entier compris entre le premier et le deuxième argument.
Des nombres : Vous voulez faire un tableau rapide comprenant dans chaque cellule un chiffre d'affaires compris entre 10.000 et 15.000 €uro.
La formule à placer dans toutes les cellules concernées sera
ALEA.ENTRE.BORNES(10000;15000)
Cette formule étant volatile, elle recalcule le nombre aléatoire chaque fois que l'on modifie la valeur d'une cellule ou si l'on clique sur la touche SUPPR. Il faut donc faire un Copier/Collage Special-Valeur pour garder les valeurs en constantes.
Les dates aléatoires : Sachant que les dates sont des nombres, si dans la colonne E, vous voulez entrer des dates comprises entre le 1er janvier 2012 et le 15 octobre 2013, il suffirait d'écrire la formule
ALEA.ENTRE.BORNES(40909;41562)
40909 étant le numéro de série du 1er janvier 2012 et 41562 celui du 15 octobre 2013.
Cette conversion étant un peu fastidieuse, il suffit simplement d'entrer les dates de début et de fin par exemple en H2:I2.
La formule à placer en cellule E2 et les lignes suivantes.
ALEA.ENTRE.BORNES($H$2;$I$2)
Des données alphanumériques aléatoires en utilisant INDEX
Petit rappel, la fonction INDEX dont la syntaxe est INDEX(tableau, Ligne, Colonne) permet de renvoyer une valeur se trouvant à l'intersection ligne, colonne du tableau or ce que l'on sait moins c'est que l'argument colonne est facultatif.
Ainsi INDEX(A2:A5;3) renverra le 3ème élément du tableau soit la valeur se trouvant en A4
Donc en imbriquant ALEA.ENTRE.BORNE dans la formule INDEX, vous pouvez générer toutes données (Pays, Véhicules, Formations etc...)
Dans cet exemple Sexe est une plage nommée se trouvant dans la feuille bd et contenant F, M
INDEX(bd!Sexe;ALEA.ENTRE.BORNES(1;2))
Avec cette formule, on peut donc générer des données d'une population de sexe féminin ou masculin.
Générer des noms de familles en générant des syllabes aléatoires
Les prénoms sont facilement téléchargeable sur internet et constituer une liste pour en tirer des éléments d'une façon aléatoires est aisé.
Les noms téléchargeables par contre sont souvent anglo-saxons et donc en me penchant sur la question, je me suis dit qu'en construisant des colonnes contenant des syllabes, je pourrais générer des noms en concaténant les syllabes ainsi sélectionnées.
Voici la formule pour deux syllabes
INDEX(Syl1;ALEA.ENTRE.BORNES(1;LIGNES(Syl1))) & INDEX(Syl2;ALEA.ENTRE.BORNES(1;LIGNES(Syl2)))
Syl1 et Syl2 sont les plages nommées contenant les groupes de syllabes. Je me suis limité à deux pour l'exemple
Fichier exemple à télécharger
J'ai mis un fichier exemple qui contient deux feuilles.
La première contient le résultat des lignes générées aléatoirement
La deuxième contient la base de données
Génération d'une liste de 10 à 200 Code, Nom, Prénoms (Féminin ou masculin suivant le sexe généré par la formule contenue dans la colonne D) et dates.
Important : Pour les versions antérieures à 2007, la fonction ALEA.ENTRE.BORNES est accessible en activant l'utilitaire d'analyse (Outils/Macro complémentaires).
Vos commentaires sont les bienvenus
Partager