Pour partager cette vidéo sur les réseaux sociaux ou sur un site, voici son url :
Sujets que vous pourriez aussi aimer :Trouver un élément sur la position cherchée
L'objectif ici est d'exploiter la
méthode Python take pour extraire toutes les informations d'un nom cherché dans un
tableau Excel.
Classeur Excel à télécharger
Nous suggérons de baser l'étude sur un
classeur Excel existant.

Nous travaillons à partir d'un tableau de personnes recensées entre les colonnes B et H. Ce tableau est encapsulé dans un
DataFrame Python en
cellule E4 :
tab=xl("B8:H45", headers=True). Grâce à une liste déroulante en
cellule G5, nous pouvons spécifier le nom d'une personne à trouver dans ce tableau. Ce critère est embarqué dans un
objet Python en
cellule J9 :
cr=xl("G5").
Position de l'élément cherché
Nous allons bâtir une
syntaxe Python qui va marcher sur les traces de l'emploi conjoint des
fonctions Excel Index et Equiv. Nous devons d'abord
trouver la position de l'élément cherché dans sa colonne. Et grâce à cette position, nous devons ensuite
extraire toutes les informations de la ligne associée.
- Cliquer sur la cellule J12 pour la sélectionner,
- Réaliser le raccourci clavier CTRL + ALT + MAJ + P pour activer Python,
- Débuter la syntaxe comme suit : position =,
position est le nom que nous donnons à l'
objet Python devant mémoriser la
position trouvée pour l'
élément cherché.
- Inscrire le nom du DataFrame, soit : tab,
- Taper un point (.) pour appeler la méthode à suivre,
- Inscrire la méthode de recherche suivie d'un crochet ouvrant, soit : index[,
- La faire agir sur la colonne des noms : tab['Client_nom'],
- Puis, inscrire le critère d'égalité suivant : ==cr,
En effet, nous cherchons la position de la personne désignée avec la liste déroulante et embarquée dynamiquement dans l'
objet Python cr.
- Fermer le crochet (]) de la méthode index,
- Puis, terminer la syntaxe de la formule comme suit : .tolist()[0],
Cette méthode tolist()[0] sert à convertir l'index du DataFrame en une liste, puis à accéder au premier élément de cette liste. Grâce à ce critère (tab['Client_nom'] == cr), il n'en subsiste plus qu'un seul pour renvoyer la position convoitée.
- Valider la formule par le raccourci clavier CTRL + Entrée,

Comme vous le constatez, nous obtenons bien la position de la personne cherchée. Et si vous changez de nom avec la liste déroulante, la position de l'élément trouvé s'actualise aussitôt.
Prélever sur la position trouvée
Maintenant, il ne nous reste plus qu'Ã exploiter la
méthode Python take sur cette position trouvée pour retourner toutes les informations sur la personne demandée.
- Cliquer sur la cellule J15 pour la sélectionner,
- Réaliser le raccourci clavier CTRL + ALT + MAJ + P pour activer Python,
- Construire la syntaxe suivante : tab.take([position]),
- Valider la formule par le raccourci clavier CTRL + Entrée,
Nous obtenons un nouveau
DataFrame mais cette fois, nous souhaitons exploiter les données visuellement.
- A gauche de la barre de formule, cliquer sur la flèche orientée vers le bas,
- Dans les propositions, choisir Valeur Excel,
Comme vous pouvez l'apprécier, toutes les informations de la personne cherchée sont rapatriées.

Et si vous changez de nom avec la liste déroulante, l'extraction s'ajuste automatiquement et en parfaite cohérence. Les syntaxes que nous avons construites en deux étapes, sont les suivantes :
position = tab.index[tab['Client_nom']==cr].tolist()[0]
tab.take([position])