Recherchev ?

Fermé
dvchu Messages postés 4 Date d'inscription mercredi 5 décembre 2012 Statut Membre Dernière intervention 10 décembre 2012 - Modifié par dvchu le 5/12/2012 à 22:16
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 - 10 déc. 2012 à 22:56
Bonjour,

j'ai 4 feuilles (France, Italie, Portugal, Chine) contenant une série de 3 colonnes différentes :

colonne 1 : chiffres
colonne 2 : nom
colonne 3 : prénom

Dans ma feuille 5 je dispose
colonne 2 : nom
colonne 3 : prénom
je voudrais qui me retrouve dans les 4 feuilles
colonne 1 : le résultat exacte ou inconnu

je suis perdu avec la fonction recherchev et je ne sais si c'est la bonne fonction, merci de votre aide

5 réponses

gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 712
5 déc. 2012 à 22:24
Bonjour,

Je suppose que tu veux additionner les chiffres de la colonne A des 4 feuilles qui correspondent aux identifiants des colonnes B et C.

Cela ne peux se faire avec les fonctions natives mais tu as au moins 2 solutions :
- un tableau croisé dynamique multi-feuilles.
- une fonction personnalisée en VBA.

Si tu pouvais nous mettre un exemple sans éléments personnels mais avec la structure des données sur https://www.cjoint.com/ puis nous mettre le lien généré ici ce serait plus facile.
0
Merci de ta réponse,, voici le lien http://cjoint.com/?3LgmZj4PsXN
dans la feuill14 dans la colonne A je voudrais qu'il retrouve et affiche s'il existe simplement le code utilisateur qui se trouve dans les feuilles 001,002,003,004, il n'y a aucun calcule, c'est vraiment juste une recherche.
Merci
0
choupette039 Messages postés 43 Date d'inscription samedi 24 novembre 2012 Statut Membre Dernière intervention 23 octobre 2014 4
5 déc. 2012 à 23:01
Bonsoir,

tel que tu décris le fichier, la recherchev ne peut pas être adaptée, si tu fais une recherche sur le nom pour récupérer le chiffre, il faudrait que la colonne du nom soit à gauche.
En faisant un somme.si sur chacune des feuilles et en sommant les valeurs de chacun des résultats, cela ne pourrait pas le faire ?
mais comme le dit gbinforme ce serait plus simple avec un fichier en exemple :)

cdlt
0
Merci pour ta réponse choupette039
0
choupette039 Messages postés 43 Date d'inscription samedi 24 novembre 2012 Statut Membre Dernière intervention 23 octobre 2014 4
6 déc. 2012 à 21:50
voici une proposition de formule :

=SI(ESTERREUR(EQUIV(B2;'001'!$B$1:$B$510;0));SI(ESTERREUR(EQUIV(B2;'002'!$B$1:$B$523;0));SI(ESTERREUR(EQUIV(B2;'003'!$B$1:$B$256;0));SI(ESTERREUR(EQUIV(B2;'004'!$B$1:$B$1226;0));"erreur";INDEX('004'!A1:A1226;EQUIV(B2;'004'!$B$1:$B$1226;0)));INDEX('003'!A1:A256;EQUIV(B2;'003'!$B$1:$B$256;0)));INDEX('002'!A1:A523;EQUIV(B2;'002'!$B$1:$B$523;0)));INDEX('001'!A1:A510;EQUIV(B2;'001'!$B$1:$B$510;0)))

tu la copies en A2 de ta feuille de résultat et tu recopies jusqu'en bas de ton tableau
attention je ne teste que le nom pas le couple (nom, prénom), il faudra adapter la formule si besoin

en espérant que cela t'aidera

Cdlt
0
dvchu Messages postés 4 Date d'inscription mercredi 5 décembre 2012 Statut Membre Dernière intervention 10 décembre 2012
10 déc. 2012 à 18:33
Désolé,
petit soucis perso, j'ai testé cela fonctionne Merci coupette039
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 712
Modifié par gbinforme le 7/12/2012 à 10:20
Bonjour,

Je te mets 3 façons de résoudre ton problème :

1- Avec la fonction SOMMEPROD
=SI(SOMMEPROD(('001'!$B$2:$B$5000=$B2)*('001'!$C$2:$C$5000=$C2))+SOMMEPROD(('002'!$B$2:$B$5000=$B2)*('002'!$C$2:$C$5000=$C2))+SOMMEPROD(('003'!$B$2:$B$5000=$B2)*('003'!$C$2:$C$5000=$C2))+SOMMEPROD(('004'!$B$2:$B$5000=$B2)*('004'!$C$2:$C$5000=$C2))>0;"présent";"absent")

https://www.cjoint.com/?BLhjMcHAyTS

2 - Avec la fonction EQUIV en matricielle (valider avec ctrl+maj+entrée simultanées) :
=SI(ESTERREUR(EQUIV(1;('001'!$B$2:$B$5000=$B2)*('001'!$C$2:$C$5000=$C2);0));SI(ESTERREUR(EQUIV(1;('002'!$B$2:$B$5000=$B2)*('002'!$C$2:$C$5000=$C2);0));SI(ESTERREUR(EQUIV(1;('003'!$B$2:$B$5000=$B2)*('003'!$C$2:$C$5000=$C2);0));SI(ESTERREUR(EQUIV(1;('004'!$B$2:$B$5000=$B2)*('004'!$C$2:$C$5000=$C2);0));"absent";"présent");"présent");"présent");"présent")

https://www.cjoint.com/?BLhkqYfSNep

3- Avec une fonction personnalisée (un peu pour le fun développeur)

https://www.cjoint.com/?BLhjQytc0Cb

Comme le résultat est identique tu choisis ce que tu veux : la première solution est beaucoup plus standard. Les 3 façons ne tiennent pas compte des majuscules ou minuscules dans les noms/prénoms.

Toujours zen
La perfection est atteinte, non pas lorsqu'il n'y a plus rien à ajouter, mais lorsqu'il n'y a plus rien à retirer. Antoine de Saint-Exupéry
0

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

Posez votre question
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 712
8 déc. 2012 à 17:43
Bonjour dvchu,

Tu n'as pas trouvé une de nos 4 propositions satisfaisante ?
0
dvchu Messages postés 4 Date d'inscription mercredi 5 décembre 2012 Statut Membre Dernière intervention 10 décembre 2012
10 déc. 2012 à 18:34
Désolé,
petit soucis perso, j'ai testé cela fonctionne Merci gbinforme
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 712
10 déc. 2012 à 18:52
Merci du retour.
Tu as choisis quelle solution ?
0
dvchu Messages postés 4 Date d'inscription mercredi 5 décembre 2012 Statut Membre Dernière intervention 10 décembre 2012
10 déc. 2012 à 20:14
le premier, cela me permet d'étendre sur plusieurs feuilles que j'ai
0
gbinforme Messages postés 14946 Date d'inscription lundi 18 octobre 2004 Statut Contributeur Dernière intervention 24 juin 2020 4 712
10 déc. 2012 à 22:56
Merci de l'info et c'est sans doute le meilleur choix.
0