Problème avec la fonction rechercheV

Résolu/Fermé
guifof - 19 janv. 2010 à 09:50
guifof Messages postés 3 Date d'inscription mardi 19 janvier 2010 Statut Membre Dernière intervention 20 janvier 2010 - 20 janv. 2010 à 15:03
Bonjour,

Je vais essayer de faire le plus clair possible.

Sous Excel 2007 la fonction rechercheV est bien pratique pour trouver une info dans un tableau bien conséquent.
Je dispose pour faire simple de 2 tableaux dans 2 fichiers différents avec en colonne A et B les informations suivantes:
           Tableau 1                                  
             A        B                                   
1           1       OUI                   
2           2       NON                  
3           3       OUI                  
4           4       NON                  
5           4       NON                  
6           4       OUI                  
7           5       NON                  
8           6       OUI                   

               Tableau 2
              A            B
1            1             =rechercheV(A1; 'tableau 1 $a$1:$B$8';2;FAUX)
2            2
3            3
4            4
5            5
6            6
7            7
8            8

Si j'effectue une rechercheV (dans la cellule B1 du tableau 2) avec en référence la cellule A1 (du tableau 2) qui contient le chiffre 1 et souhaite obtenir l'information contenu dans la cellule B1 du tableau 1, j'obtiendrai la réponse OUI. Idem, donc si je fais glisser ma formule j'effectue une rechercheV avec en référence la cellule A2 (du tableau 2) qui contient le chiffre 2, j'obtiendrai donc la réponse NON etc.
Puis ensuite j'effectue une rechercheV avec en référence la cellule A4 qui contient le chiffre 4, j'obtiendrai la réponse NON.

Et c'est là le problème, ce qui m'intéresse c'est la réponse OUI de la troisième occurence de 4! La rechercheV semble se fier à la première occurence et c'est bien normal etant donné que je la fais glisser. En fait il me faudrait une fonction rechercheV encore plus intelligente qui remarque les doublons, triplets etc. et qui me met de préférence la réponse oui si elle est présente!

Bien sûr en théorie je pourrais trier mon tableau pour éviter les redondances (en l'occurence de 4) mais c'est impossible car d'une part il est trop gros et chaque ligne malgré des itérations identiques contient des informations différentes.

Merci d'avance à ceux qui se seront penché sur mon problème!

6 réponses

smartway14 Messages postés 822 Date d'inscription mercredi 15 octobre 2008 Statut Membre Dernière intervention 8 octobre 2011 185
19 janv. 2010 à 10:14
bonjour essayez avec la fonction INDEX() et EQUIV()
0
guifof Messages postés 3 Date d'inscription mardi 19 janvier 2010 Statut Membre Dernière intervention 20 janvier 2010
19 janv. 2010 à 11:15
Bonjour,

Merci d'avoir lu mon post et de me proposer des alternatives. L'ennui c'est que je peux avoir 10 itérations identiques ou 20 ou plus... Ca varie fréquemment et tout doit être automatisé.
Je crois que je vais utiliser la bonne vieille méthode barbare des fichiers tampons et filtrer les occurences dans ces derniers. Je vois peut-être un mix entre rechercheV et Index mais je crois que je vais me retrouver avec une formule de barbare que je vais pondre en 2 jours. Le VBA aurait peut être été la solution mais je ne suis pas programmeur et ça me paraît un peu trop complexe pour un débutant comme moi.

En tout cas merci beaucoup!
0
mod77 Messages postés 1273 Date d'inscription vendredi 10 juillet 2009 Statut Membre Dernière intervention 14 janvier 2024 53
19 janv. 2010 à 11:25
Bonjour,

J'ai une question: Qu'est-ce qui détermine le choix de prendre la 3e occurence du 4 ?
0
guifof Messages postés 3 Date d'inscription mardi 19 janvier 2010 Statut Membre Dernière intervention 20 janvier 2010
19 janv. 2010 à 15:27
Bonjour à vous,

En fait ma fonction rechercheV doit trouver OUI de préférence, si cette réponse existe et non si ce n'est pas le cas, c'est tout simplement nécessaire pour mon tableau,

               Tableau 2
              A            B
1            1             =rechercheV(A1; 'tableau 1 $a$1:$B$8';2;FAUX)
2            2
3            3
4            4
5            5
6            6
7            7
8            8


J'aimerais lui dire: tu te bases sur l'info de la celulle A1 (du tableau 2, celui que je veux compléter), tu vas chercher dans le tableau 1 la ligne qui contient la même info que la cellule A1 du tableau 2 et tu me donnes ce que contient la cellule B de la même ligne. La réponse NON pour la ligne 4 est normale mais non souhaitée dans mon cas étant donné qu'il existe un 4 avec une réponse OUI. Dans le cas d'un nombre isolé ça ne pose pas de problèmes mais pour des nombres identiques, il faut que ma fonction se "dise": " Tiens je vais vérifier les autres nombres identiques (au lieu de prendre le premier) et vérifier si la réponse OUI n'y est pas"
Dans le cas de lignes identiques, le OUI prédomine si il est présent, et NON dans le cas contraire bien sûr. Ca sent les fonctions Si() OU() mais je vois pas comment mélanger tout ça!

Merci d'avance
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 398
19 janv. 2010 à 18:28
Bonsoir

S'il ne s'agit que de détecter la réponse OUI si elle est associée au moins une fois à un code répété dans le tableau 1, essayez la formule ci dessous en adaptant à vos champs

=SI(NB.SI($A$2:$A$10;E2)=0;"";SI(SOMMEPROD(($A$2:$A$10=E2)*($B$2:$B$10="OUI"));"OUI";"NON"))

Cette formule est placée pour l'exemple en F2, à tirer vers le bas, avec:
Tableau 1 de A2 à B10
Tableau 2 de E2 à F10
Elle affichera OUI si un code à OUI, NON si le code n'a que des NON et rien si le code du tableau 2 n'existe pas dans le tableau 1.
Si vous voulez un commentaire dans ce cas, mettez le entre les guillemets de l'Item NB.SI....

Pous simplifier vos formules, surtout si vous avez des feuilles différentes, nommez vos champs du tableau 1, ça évite les noms de feuille et les blocages pour copier les formules.
crdlmnt

0
guifof Messages postés 3 Date d'inscription mardi 19 janvier 2010 Statut Membre Dernière intervention 20 janvier 2010
20 janv. 2010 à 15:03
Bonjour à vous!

Vraiment très astucieux! Félicitations! Votre fonction a un triple avantage

1 Elle résout mon problème.
2 Elle me permet d'oublier la fonction rechercheV.
3 Je ne suis pas tenu de mettre le tableau dans l'ordre croissant.

Merci beaucoup! Voilà une fonction beaucoup plus intelligente!
0