Générateur de noms dans Excel

Temps de lecture : 3 minutes

Cet article va vous expliquer comment concevoir un générateur de noms de famille depuis une formule.

L'idée ici c'est de créer une formule qui va extraire aléatoirement un nom parmi une liste existante. Nous allons voir comment extraire aléatoirement les noms

  • depuis une feuille de calcul
  • depuis un fichier depuis le web (plus de 500 noms disponibles)

Etape 1 : Liste de noms dans un Tableau

Pour commencer, nous allons saisir une liste de 10 noms et nous allons les insérer dans un Tableau.

Tableau de nom

Etape 2 : Retourner un nombre aléatoire en fonction du nombre de nom

La fonction ALEA.ENTRE.BORNES nous permet de retourner un nombre entre 2 valeurs

Donc, comme dans notre liste nous avons 10 noms, nous allons simplement chercher à extraire un nombre entre 1 et 10

=ALEA.ENTRE.BORNES(1;10)

Mais pour rendre cette fonction dynamique par rapport au nombre de valeur dans le tableau, nous allons écrire la formule de la façon suivante

=ALEA.ENTRE.BORNES(1;LIGNES(Tableau1[Nom]))

ou encore

=ALEA.ENTRE.BORNES(1;NBVAL(Tableau1[Nom]))

Retourner un nombre aleatoire en fonction de la taille du tableau

Etape 3 : Renvoyer le nom correspondant

Maintenant, il faut transformer la formule pour retourner le nom correspondant au nombre aléatoire.

Pour cela, la fonction INDEX va être très utile car la fonction INDEX retourne la valeur qui se trouve à la nième position.

=INDEX(Tableau1[Nom];ALEA.ENTRE.BORNES(1;LIGNES(Tableau1[Nom])))

Formule pour generer un nom aleatoire

En recopiant la formule, on a créé un générateur de noms 👍

Recopie de la formule pour generer plusieurs noms

Etape 4 : Optimisation avec LET

Les 2 étapes qui suivent ne sont pas nécessaires mais simplifie l'écriture de la fonction. Ici, nous allons optimiser la formule pour n'appeler qu'une seule fois la Table des noms en utilisant la fonction LET.

=LET(Var_x;Tableau1[Nom];INDEX(Var_x;ALEA.ENTRE.BORNES(1;LIGNES(Var_x))))

Transformation de fonction du generateur de noms avec LET

Ca peut vous sembler bizarre mais écrite de cette façon, le contenu de la Table n'est appelée qu'une seule fois mais utilisée 2 fois 👍

Etape 5 : Intégrer la formule dans une fonction LAMBDA

La fonction LAMBDA est très récente et toutes les versions d'Excel n'ont pas cette fonction. Donc si vous ne l'avez pas, ce n'est pas un problème.

Maintenant, si vous avez la fonction LAMBDA, cette fonction va vous permettre de créer un nom de fonction personnalisée pour appeler la formule précédente mais avec un nom plus approprié et explicit.

Fonction personnelle LAMBDA depuis lediteur avance

Après validation de la formule, il vous suffit d'appeler cette formule par son nom et vous obtenez le résultat dans la cellule.

Fonction personnalisee de generateur de nom

Etape 6 : Utiliser une liste de nom depuis le Web

Maintenant, il est possible d'utiliser la même fonction mais avec le contenu d'une liste de nom provenant d'un fichier sur le web. C'est une fonctionnalité peu connue d'Excel mais vous pouvez appeler un fichier XML avec la fonction SERVICEWEB et collecter une valeur avec la fonction FILTREXML

Ici, nous allons récupérer la liste des 500 noms les plus communs en France.

La formule pour retourner cette liste de nom est la suivante

=FILTRE.XML(SERVICEWEB("https://www.excel-exercice.com/database/liste-nom-fr.xml");"//nom")

Liste des noms importe depuis un fichier XML

Pour terminer, nous allons remplacer dans la fonction LET précédente, le nom du tableau par cette nouvelle formule.

=LET(Var_x;FILTRE.XML(SERVICEWEB("https://www.excel-exercice.com/database/liste-nom-fr.xml");"//nom");INDEX(Var_x;ALEA.ENTRE.BORNES(1;LIGNES(Var_x))))

Et avec cette formule, nous somme capable de générer une liste de noms aléatoire depuis une liste sur le web 👍

Generateur de noms depuis une liste sur le web

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.

MICROSOFT MVP

RECHERCHE D’EMPLOI AVEC

Back to top