Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Tirer au sort avec une formule Python
Avec
Python et comme nous l'avons découvert à l'occasion du volet précédent, il est très simple de désigner
une personne au hasard.
Classeur Excel à télécharger
Pour la mise en place de l'astuce, nous suggérons de baser l'étude sur un
classeur Excel existant.
- Télécharger le fichier tirer-au-sort.xlsm en cliquant sur ce lien,
- Cliquer droit sur le fichier réceptionné,
- En bas du menu contextuel, cliquer sur Propriétés,
- En bas de la boîte de dialogue, cocher la case Débloquer,
- Valider par Ok et double cliquer sur le fichier pour l'ouvrir dans Excel,
Nous découvrons un tableau des salariés entre les
colonnes B et G. Juste au-dessus, des cases bleues, en ligne 4, attendent l'extraction du
salarié tiré au sort par la
formule Python que nous allons bâtir.
De même, tout en haut de la feuille et au centre, vous notez la présence d'un bouton. Son rôle est de provoquer un
nouveau tirage au sort à chaque clic. Vous pouvez consulter son code en réalisant le
raccourci clavier ALT + F11.
Private Sub tirerAuSort_Click()
Application.CalculateFull
End Sub
Ce bouton, nous l'avons nommé
tirerAuSort. A chaque clic (tirerAuSort_Click), il appelle la
méthode CalculateFull sur l'
objet Application, pour forcer le
recalcul des formules. En effet, dans le cas de
formules Python, la
méthode Calculate que nous avons déjà utilisée dans d'autres développements, ne suffit plus.
La formule Python
Nous l'avons appris dans le volet précédent, c'est la
méthode Python sample, appliquée sur un
Dataframe, qui permet d'extraire une ou plusieurs lignes aléatoirement à partir d'un tableau.
- Cliquer à gauche de la première cellule bleue, pour sélectionner la case A4,
En effet, la formule va retourner une information supplémentaire. Il s'agit de la position de la ligne extraite dans le tableau d'origine. Comme nous avons préformaté cette cellule en gris sur fond gris, nous ne la verrons pas.
- Réaliser le raccourci clavier CTRL + ALT + MAJ + P pour activer Python,
- Sélectionner toutes les données du tableau, soit la plage de cellules B7:G25,
Cette action conduit à la syntaxe suivante :
xl("tab"). En effet, nous avions pris soin de nommer cette plage avec l'intitulé
tab.
- Taper un point pour appeler la méthode à lui appliquer,
- Puis, inscrire la méthode sample comme suit : sample(1),
En effet, nous souhaitons extraire aléatoirement une seule ligne.
- Valider la formule par le raccourci clavier CTRL + Entrée,
Nous obtenons un
DataFrame invisible pour les raisons que nous avons évoquées précédemment.
- A Gauche de la barre de formule, cliquer sur la flèche dirigée vers le bas,
- Dans les propositions, choisir Valeur Excel,
Presque aussitôt, vous voyez l'extraction aléatoire se produire.
Désormais, à chaque clic sur le bouton, vous avez le plaisir de constater qu'une nouvelle personne est extraite aléatoirement. Et toutes les informations qui lui sont attachées, suivent.