Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Excel - fonction RECHERCHE

  • Initiateur de la discussion Initiateur de la discussion Hub
  • Date de début Date de début

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 !

Hub

XLDnaute Occasionnel
Bonjour à tous,

Vous trouverez ci-joint un fichier illustrant le problème que je rencontre.

Comment le résoudre ?

Merci d'avance pour toutes vos suggestions.

A plus
 

Pièces jointes

Re : Excel - fonction RECHERCHE

Bonjour le file,

Didji, je joins un nouveau fichier indice "b"
J'ai essayé de reconduire ta solution sans succès. Je regarde et découvre en ce moment comment fonctionne la commande INDIRECT.
Si tu as encore un peu de temps à m'accorder, regardes si tu arrives à la reconduire et tu me dis ce qui en est car les solutions classiques sans VBA sont parfois plus rapides donc plus intéressantes

Jacky, ta solution VBA est Ok, je la teste sur mon projet final et je reviens vers vous pour vous informer.

merci pour votre aide
 

Pièces jointes

Re : Excel - fonction RECHERCHE

Re
je te remets ton fichier, avec différentes formules pour le meme resultat (heureusement)
Les valeurs de l'argument vecteur_recherche doivent être placées en ordre croissant : ...,-2, -1, 0, 1, 2, ..., A-Z, FAUX, VRAI. Sinon, la fonction RECHERCHE peut donner une valeur incorrecte.

Ce qui n'est pas le cas:
sp1 sp2 sp11 ne se suivent pas mais sp1 sp11 sp115 sp2 oui

D'un autre coté, c'est ecrit partout que la fonction recherche() est obsolète et d'un usage "merdique".
Crdmt
 

Pièces jointes

Re : Excel - fonction RECHERCHE

Re...
Jacky, ta solution VBA est Ok, je la teste sur mon projet final et je reviens vers vous pour vous informer.
Utilise plutôt la méthode de "Modeste" avec la fonction RechercheV
Elle est mieux adapté à ton cas et il y aura moins de plage à nommer.
Et pas besoin de calcul intermédiaire
En F6
Code:
=SI(B6="";"";RECHERCHEV(B6;DECALER(Fr;;EQUIV(B3;TitreLangue;0)-1;;3);2;0))

En I6
Code:
=SI(B6="";"";RECHERCHEV(B6;DECALER(Fr;;EQUIV(B3;TitreLangue;0)-1;;3);3;0))
 

Pièces jointes

Re : Excel - fonction RECHERCHE

Bonsour®
D'un autre coté, c'est ecrit partout que la fonction recherche() est obsolète et d'un usage "merdique".
😕

Meuh non !!! 🙄
les Fonctions RECHERCHE? exigent que la clé de recherche soit en premiere colonne (ou ligne)
cette limitation oblige souvent à dupliquer des colonnes pour parvenir à nos fins.
🙄 je dirais donc ch..nt ! heu...? pénalisant plutôt que merdique ...😱

Obsolete ??? ces fonctions existent depuis la naissance d'EXCEL et ont toujours produis les résultats prévus et attendus...

L'utilisation de la combinaison INDEX-EQUIV permet une plus grande flexibilité dans la mise en oeuvre pour des résultats similaires.

Tout comme pour les fonctions RECHERCHE?, la fonction EQUIV possède un 3eme argument qu'il convient de préciser de façon explicite
à fin d'éviter les résultats parfois "merdiques"...
 
Re : Excel - fonction RECHERCHE

Bonsoir le fil,

Jacky, j'ai essayé de reconduire ta solution VBA sur le projet final => plantage !!!
J'utilise déjà du code VBA très copieux pour la mise en page, je renseigne environ 25 cellules qui sont testés... faut-il modifier ton code de manière à le distinguer de l'existant ? je ne pense pas puisque dans "Worksheet_SelectionChange" ton code désigne la cible B3.

Dim temp As String
la variable "temp" est le diminutif de quoi ? elle sert à quoi ?
elle est déclarée de manière "global" pour la rendre commune aux deux Private Sub. Donc pas besoin de lui attribuer une valeur. C'est bien ça ?

If Target.Count > 1 Then Exit Sub
KéZaKo ? peux-tu m'expliquer ?

If Target.Value = temp Then Exit Sub
ça voudrait dire : si la cible (cellule que l'on renseigne) est égale à la variable temp alors on sort de la macro; C'est bien ça ? mais comme je ne sais pas ce que tu attends de cette variable... KéZaKo ?
c'est sur cette ligne que le débogeur c'est placé lors du plantage

If Target.Address = "$B$3" Then [b6] = ""
là c'est bon j'ai compris : quand on renseigne la cible (la celleule B3) alors on efface B6

en terme de pourcentage, je n'ai pas suivi grand chose.
 
Re : Excel - fonction RECHERCHE

Salut,

Je m'incruste dans la discussion ^^

Un essai en index equiv sur plusieurs tableaux;

La méthode : Index((tab1;tab2;tab3;tab4);ligne;colonne;tableau)

Et je ne sais pas si la méthode a déjà été proposé ^^

++

Nota : j'viens de me rendre compte qu'il y avait une deuxieme page de discussion ^^
 

Pièces jointes

Dernière modification par un modérateur:
Re : Excel - fonction RECHERCHE

Bonsoir,
Le code dans la feuille en question n'est absolument PAS obligatoire

Salutaions
JJ
 
Re : Excel - fonction RECHERCHE

Jacky, j’ai bien compris que ce code ne sert uniquement quà effacer la cellule B6 et indirectement les cellules F6 et I6 via la formule « =SI(B6="";"";… »

Question :
If Target.Count > 1 Then Exit Sub
Ejection de la macro si la sélection est multiple
Je ne suis pas sur d’interpréter correctement cette explication.
Comment une sélection peut elle être multiple puisque l’on ne peut choisir qu’une cellule à la fois ?
Serait-ce, par exemple, via un « Range(« A1 :T16 ») ?

Cette macro me sera certaienement nécessaire plus tard !

@+
 
Re : Excel - fonction RECHERCHE

Bonjour,

Reponse: 😉


Salutations
JJ
 
- 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

Réponses
6
Affichages
260
Réponses
3
Affichages
145
Réponses
13
Affichages
244
Réponses
17
Affichages
383
Réponses
5
Affichages
404
Réponses
18
Affichages
361
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…