Microsoft 365 Récupération d'une valeur particulière dans un tableau...

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

nightswan

XLDnaute Junior
Bonjour tout le monde, le titre n'est pas très explicite, mais voici pour l'explication de ma problématique :

Pour le boulot, je récupère des données à partir d'un pdf. Ensuite, je fais une conversion des données pour avoir ça tout propre dans plusieurs colonnes.

C'est sur l'onglet "extract_pdf" que je colle mes données (colonnes A à J, les données commençant toujours en ligne 6 et pour la fin du tableau, c'est fonction du nombre de pages de 3 pdf différents et c'est ça qui me pose un peu souci vu que la donnée que je veux récupérer n'est jamais à la même ligne mais toujours en colonne E par contre).

Sur ce même onglet, fonction de matricules, j'affiche ce qui me concerne ou pas (tout ce qui est vide).

Ce que souhaiterais récupérer en colonne Q, c'est le contenu de la cellule E44 à partir du moment où il y a un collaborateur identifié en colonne N.
Si je prends par exemple la page 1 du pdf que j'ai collée (plage A6 - J42), j'aimerai que le "6011" en E44 se reporte en Q6, Q7, Q8 et Q9 uniquement, pas ailleurs vu que ce sont des collaborateurs qui ne me concernent pas.

Si je prends la page 13 (la dernière du premier pdf et plus courte que les autres et qui décale toutes les positions qui suivent), le "6021" en E540 devrait juste se reporter en Q519 et Q527.

Et là, je ne vois pas trop comment faire. Merci d'avance pour le coup de main.
 
Solution
Bonjour, j'ai essayé de me débrouiller, mais je n'y arrive pas à partir des solutions données (suite à mon énoncé erroné), la fonction cherchant par le bas et pas par le haut.

Vu que je ne peux pas éditer la demande initiale, je remets au propre pour expliciter au mieux ma problématique :

- je copie colle un pdf dans Excel, le nombre de pages est variable (entre 12 et 20 au quotidien) et je convertis tout ça,
- les données converties occupent les colonnes A à J de façon fixe,
- chaque page peut avoir entre 0 et 37 lignes maxi (de données chiffrées + 4 lignes fixes au dessus et 1 ligne fixe en bas de page),
- à chaque page, il y a un n° de centre correspondant (valeurs possibles au nombre de 3 : 6011, 6021 et 6311) : c'est cette...
Bonjour,

Les formules en N, Q, P sont simplifiables, de plus je ne vois pas l'intérêt de la formule en N et de la table associée (dates pouvant être générés directement).

Je pense que tu ferais mieux d'expliquer plus globalement le résultat désiré.
Je n'ai pas vraiment compris ce que tu veux obtenir mais je tente :

Tu veux récupérer par page les collaborateurs listés dans la feuille "table", leur nom d'équipe et date ainsi que le total en bas de page pour chaque collaborateur.

Edit : Pourrais-tu fournir le pdf (pas de données personnelles) ?
 
Bonjour à vous deux et merci déjà d'avoir jeté un œil,

@gosselien : j'ai un peu trop édulcoré le fichier pour éviter les données confidentielles.
Le 6021 est un n° de centre. Si ça peut aider, la cellule avant chaque n° que je veux récupérer a le contenu "Centre".
Et ces centres sont au nombre de 3 : 6021, 6011 et 6311 (c'est invariable, donc on peut chercher ces 3 valeurs).

@Hecatonchire : je fais avec mes connaissances, mais oui, certainement qu'il y a moyen de faire plus simple.
pour le pdf, pas possible, il y a plein de n° INSEE.

Et pour reformuler ma demande :
A partir de la plage A6 - J722 (qui comporte des données nationales), j'isole juste une liste de collaborateurs à partir de leur matricule (en colonne C) et je fais apparaître respectivement leur nom (en N), leur équipe (en O) et en P je mets le quantième en date (j'ai changé la formule ;-).

Et en Q, c'est là ma question : je voudrais qu'à chaque fois qu'un collaborateur est présent en N soit reporté le n° de centre concerné.

Mais un n° de centre n'est valable que pour une plage donnée.

Le 6011 en E44 n'est valable que pour les personnes entre N6 et N42 par exemple.
Le 6021 en E540 de N510 à N538 et le 6311 en E722 (la plus petite page pdf de toutes), N708 à N720.

J'espère que ça peut aider. J'ai rementionné "Centre" dans les cellules.
 

Pièces jointes

Bonjour, j'ai finalement utilisé la formule SIERREUR qui simplifie vraiment par rapport à SI(ESTERREUR) que j'utilise depuis très longtemps. Merci pour ce tuyau appréciable.

Par contre, en anonymisant mon fichier au maximum, j'ai fait une bêtise qui m'a induit en erreur et qui fausse toute la formule de @danielco que je n'arrive pas à adapter.

-1 ou +1 dans EQUIVX qualifie l'élément suivant le plus petit ou le plus grand, mais le suivant uniquement. Là dans ma demande erronée, le n° a récupérer était systématiquement en dessous du contenu de cellule "le" donc ça allait très bien.

Le n° de centre de la page 1 ne se trouve pas en cellule E44 comme je l'avais spécifié, mais en E2.
E44, c'est la donnée centre de la page 2 et ainsi de suite...

J'ai délimité les pages par un contour dans le fichier joint pour que ce soit plus clair.

Le bon n° de centre à récupérer se trouve donc systématiquement au dessus d'une cellule qui contient "Dossiers", mais ça ne me semble pas possible d'utiliser EQUIVX là. Après, je ne suis absolument pas familier de la fonction, je suis allé voir un peu comment elle fonctionne mais cette histoire d'élément suivant n'a pas l'air de coller.

Merci pour le coup de main !
 
Dernière édition:
Bonjour, j'ai essayé de me débrouiller, mais je n'y arrive pas à partir des solutions données (suite à mon énoncé erroné), la fonction cherchant par le bas et pas par le haut.

Vu que je ne peux pas éditer la demande initiale, je remets au propre pour expliciter au mieux ma problématique :

- je copie colle un pdf dans Excel, le nombre de pages est variable (entre 12 et 20 au quotidien) et je convertis tout ça,
- les données converties occupent les colonnes A à J de façon fixe,
- chaque page peut avoir entre 0 et 37 lignes maxi (de données chiffrées + 4 lignes fixes au dessus et 1 ligne fixe en bas de page),
- à chaque page, il y a un n° de centre correspondant (valeurs possibles au nombre de 3 : 6011, 6021 et 6311) : c'est cette cellule qui m'intéresse,
- ce n° de centre est toujours en colonne E et toujours situé à droite d'une cellule "Centre" (en colonne D) et toujours au dessus d'une cellule "Dossiers"
- à partir du moment où un collaborateur issu d'une liste est reporté en colonne N, je souhaite que le centre soit reporté en colonne Q

La difficulté, c'est ce côté totalement variable de la position de la valeur centre (fonction du nombre de lignes de la page dont il est issu) et de la plage variable à laquelle il s'applique.

J'ai été bien dépanné juste au dessus, mais je me suis trompé sur la localisation de la donnée à récupérer, le n° de centre étant en fait en haut de page et pas en bas.

J'espère que c'est faisable au vu des contraintes énumérées juste au dessus. Merci par avance.
 

Pièces jointes

Bonjour, j'ai essayé de me débrouiller, mais je n'y arrive pas à partir des solutions données (suite à mon énoncé erroné), la fonction cherchant par le bas et pas par le haut.

Vu que je ne peux pas éditer la demande initiale, je remets au propre pour expliciter au mieux ma problématique :

- je copie colle un pdf dans Excel, le nombre de pages est variable (entre 12 et 20 au quotidien) et je convertis tout ça,
- les données converties occupent les colonnes A à J de façon fixe,
- chaque page peut avoir entre 0 et 37 lignes maxi (de données chiffrées + 4 lignes fixes au dessus et 1 ligne fixe en bas de page),
- à chaque page, il y a un n° de centre correspondant (valeurs possibles au nombre de 3 : 6011, 6021 et 6311) : c'est cette cellule qui m'intéresse,
- ce n° de centre est toujours en colonne E et toujours situé à droite d'une cellule "Centre" (en colonne D) et toujours au dessus d'une cellule "Dossiers"
- à partir du moment où un collaborateur issu d'une liste est reporté en colonne N, je souhaite que le centre soit reporté en colonne Q

La difficulté, c'est ce côté totalement variable de la position de la valeur centre (fonction du nombre de lignes de la page dont il est issu) et de la plage variable à laquelle il s'applique.

J'ai été bien dépanné juste au dessus, mais je me suis trompé sur la localisation de la donnée à récupérer, le n° de centre étant en fait en haut de page et pas en bas.

J'espère que c'est faisable au vu des contraintes énumérées juste au dessus. Merci par avance.
Bonjour,

C'est la valeur "-1" du 4e paramètre de EQUIVX qui permet la recherche de bas en haut. En Q6, à recopier vers le bas :

VB:
=SI(N6<>"";INDEX(E:E;EQUIVX("dossiers";$E$1:E6;0;-1)-1);"")

Daniel
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 MFC dans tableau
Réponses
2
Affichages
307
  • Question Question
Microsoft 365 Liens hypertexte
Réponses
4
Affichages
346
Retour