RechercheV et Concatener

Bonjour la communauté,

Je viens vers vous après moult et moult recherches qui n'ont pas aboutis.

Je vous explique brièvement mon problème, j'ai deux feuilles sur un fichier Excel, l'une est informative avec pleins de données active (qui sont nourris grâce à une matrice à côté) et la deuxième veut justement trier ces données.

En gros sur le premier tableau j'ai plusieurs colonnes avec le nom des entrep, le numéro, certificat, date de validité. C'est grâce à ce tableau qui regroupe pas mal de données que je veux trier en un tableau à double entrée avec le nom de entrep et le nom des certif, pour pouvoir remplir la date de validité du certificat si l'entreprise bidule par exemple est agréé (ici : 15/10/2018).

J'ai joint un fichier exemple qui pourra un peu mieux vous montrer ce que je veux. J'y ai laissé une formule qui me semblait raisonner correctement mais il semblerait que non.

=RECHERCHEV(CONCATENER(A2;$B$1);Certificat;4;FAUX)

Merci beaucoup de l'intérêt de vous porterez à mon petit message d'aide.

Passez une agréable journée !!

Emmy

32exemple.xlsx (11.48 Ko)

Bonjour Emmy et bienvenue,

Comme souvent, celui qui formule la demande considère que les explications sont limpides ... ceux qui les lisent ont généralement plus de mal

On peut cependant raisonnablement affirmer que la formule à laquelle tu avais pensé ne "raisonne pas correctement" (mais est-ce véritablement la formule qui "raisonne" ?)

Avec ce que j'ai cru comprendre, une proposition en pièce jointe ... vérifie si les résultats sont ceux que tu imaginais, avant tout !

67exemple-emmy.xlsx (14.13 Ko)

Bonjour U.Milité,

Je te remercie de ta réactivité !!!

Ta formule est ouf je n'y aurais jamais pensé !!

Et j'en conviens, mon explication était pourrie. Au final, c'est plutôt compliqué de réussir à exprimer ses attentes sans parler incompréhensiblement

J'ai un petit hic par contre, la plupart de tes résultats sont bons, juste sur le B4 un résultat est donné alors qu'il ne sevrait pas y en avoir, ce serait dû à quoi ?

Alors j'ai testé cette formule sur ma vraie fiche excel et j'ai un petit soucis, dû au fait que j'ai vraiment très mal expliqué mon problème ! Alors enfaite, ma feuille excel est active, et reliée à d'autres grâce au numéro fournisseur dans une case précise et c'est sur celle-ci que tu mets le numéro fournisseur que tu veux, et donc il faudrait (si c'est possible), faire qu'il y ai juste des calculs dans une colonne.

Et du coup j'ai remarqué que t'as formule prend les trois résultats qui suivent deux cases plus bas. Peut-être dû à une mauvaise manip de ma part.

Franchement, je sens que je ne suis pas clair du tout mais je ne sais pas comment mieux expliquer.

Je m'excuse !

En tout cas, merci de l'intérêt pour mon problème !!

J'ai remis en pièce jointe ce que j'ai essayé d'expliquer, en espérant que ça soit un peu plus clair que mon premier poste.

36exemple2.xlsx (15.87 Ko)

Re-bonjour,

Finalement, on n'était pas si loin de la solution (quelques années-lumières au maximum )

Deux choses pour ta formule:

  • le n° de fournisseur, il est en colonne B de la feuille Certificats. La formule en B5 doit donc être:
  • ce type de formule s'appelle une formule matricielle. Chaque fois qu'on en crée une ou qu'on en modifie une existante, il faut valider à l'aide de la combinaison de touches Ctrl+Shift+Enter (des accolades doivent apparaître autour de la formule, dans la barre de formule)

Ceci étant, tu as raison, il y a bien des résultats qui apparaissent là où ils ne devrait pas y en avoir ... il y a peut-être plus court, mais encore une fois, voyons d'abord si les résultats sont cohérents. En B5 de ton dernier fichier:

=SI(SOMME((Certificats!$B$2:$B$20=$B$2)*(Certificats!$C$2:$C$20=$A5))=0;"";INDEX(Certificats!$F$2:$F$20;MIN(SI((Certificats!$B$2:$B$20=$B$2)*(Certificats!$C$2:$C$20=$A5);LIGNE(Certificats!$F$2:$F$20)-1))))

Toujours valider avec Ctrl+Shift+Enter

J'ai considéré que pour un même fournisseur, il ne pourrait pas y avoir plusieurs lignes avec un même type de certificat ... si cette hypothèse ne se confirme pas, la solution proposée deviendra caduque

Re,

Je confirme qu'il y a plus simple ... en B5, essaie:

=SIERREUR(INDEX(Certificats!$F$2:$F$20;EQUIV($B$2&$A5;Certificats!$B$2:$B$20&Certificats!$C$2:$C$20;0));"")

Toujours valider avec les trois mêmes touches, puis copier vers le bas

T'as formule est plus que parfaite et miraculeuse !

Je vais quand même pousser le bouchon encore plus loin pour savoir si il y est possible de rechercher la même chose sans que pour autant les certificats soient rangés dans le même ordre pour chaque entreprise ?

Du genre :

Bidule : ISO - EN - Agréé

Machin : EN - ISO

Je suis vraiment désolé de te déranger encore plus alors que te m'as déjà apporté beaucoup !

si il y est possible de rechercher la même chose sans que pour autant les certificats soient rangés dans le même ordre pour chaque entreprise ?

Peut-être que quelque chose m'échappe, mais il ne me semble pas que l'ordre intervienne !?

Tu as fait des tests ? Pourrais-tu donner un (ou plusieurs) exemple(s) ?

PS: ici, c'est juste le SAV ... pour les miracles, c'est le service 7 étages au-dessus

Ahah j'ai essayé, il c'est juste mis à pleuvoir, j'ai fâché les nuages

Non mais autant pour moi, c'était un mauvais format de certaines de mes cellules qui faisaient tout planter.

Mais c'est bon ça marche.

Je te remercie énormément du temps que tu as pu me procurer et surtout pour ta formule magique qui à résout tous mes problèmes !!

En te souhaitant une excellente fin de journée.

Emmy

Rechercher des sujets similaires à "recherchev concatener"