condition avec SI et rechercheV dans plusieurs feuilles

slimek

XLDnaute Nouveau
bonjour,
mon but est de faire une rechercheV dans des feuilles excel, avec une condition,
donc il y a un code, si le code est validé il y a une condition qui est soit 1 ou 2,
et selon cette condition, le code sera rechercher dans excel pour afficher les information nécessaires.
donc il s'agit d'une recherche multiple avec un code de référence et une condition qui doit être valide.
ça fait deux jours que je suis sur le forum, et je n'ai pas réussi a trouver une solution,
il y a des problems et des topics qui ont etait abordé et qui ressemble a mon problem,
mais pas une solution pour le mien, soit la formule qui a etait conseillé et utilisé n'est pas conforme
a ce que je veux, ou bien c'est du VBA qui est du chinois pour moi !!


alors j'ai décidé de faire simple, j'ai crée un nouveau fichier simplifié avec le même problème,
avec des remarques pour comprendre de quoi ils s'agit et des capture d’écran a mettre sur le forum!
plus claire, plus compréhensible, j'imagine :)

fe1.jpg
fe2.jpg
fe3.jpg
Ce lien n'existe plus
 

Pièces jointes

  • TEST.xlsx
    18.5 KB · Affichages: 103
  • TEST.xlsx
    18.5 KB · Affichages: 100
  • TEST.xlsx
    18.5 KB · Affichages: 97

slimek

XLDnaute Nouveau
Re : condition avec SI et rechercheV dans plusieurs feuilles

j'ai trouvé une petite solution, mais je ne crois pas que c'est la solution!!! la c'est des si, condition vrai, sinon un autre si, etc etc, pour 3 feuilles, or le fichier final aura dans les 40 feuilles, donc ca va etre tres complexe a coder !!
cette solution est conseillé ou non ??

voici la formule :
=SIERREUR(
SI(B4=1;RECHERCHEV(B3;archi!$A$1:$B$92;2;FAUX);RECHERCHEV(B3;archi!$A$1:$B$92;4;FAUX));
SIERREUR(
si(b4=1;RECHERCHEV(B3;son!$A$1:$B$30;2;FAUX);RECHERCHEV(B3;son!$A$1:$B$30;4;FAUX));
si(RECHERCHEV(B3;montage!$A$1:$B$20;2;FAUX);RECHERCHEV(B3;montage!$A$1:$B$20;4;FAUX))
)
)

merci
 

Lolote83

XLDnaute Barbatruc
Re : condition avec SI et rechercheV dans plusieurs feuilles

Salut Slimek

Peut être un élément de réponse ici.
Perso, j'ai du mal a utiliser la fonction RechercheV, j'utilise plutôt Index+Equiv.
C'est ce que j'ai utilisé ici.
De plus sachant que tu travailles sur plusieurs onglets, j'ai combiné tout ça avec la fonction Indirect.
Par contre, je ne sais pas ou aller chercher les données correspondant à la ligne NOTE.
En espérant avoir répondu à ta demande
Cordialement
Lolote83
 

Pièces jointes

  • Copie de Slimek.xls
    41 KB · Affichages: 132

slimek

XLDnaute Nouveau
Re : condition avec SI et rechercheV dans plusieurs feuilles

bonjour lolote83,
votre formule est déjà une bonne étape,
mais j'ai remarqué que le nom de la matière change et est devenu une variable!!
la désignation vient du sheet ou se trouve le code (comme indiqué sur la photo jointe au message) et en dessous il y a les notes,
le nom de la matière (désignation) va être saisie manuellement et ne doit pas changer :)
j'ai essayé d'ajouter une nouvelle feuille, avec un nouveau code 5555 et la, le code ne le reconnait plus.
lolote.jpg

comment elle fonctione cette formule ?? je n'ai aps réussi a la comprendre, Oo

=INDEX(
INDIRECT($B$2 & "!$B$3:$G$4");
EQUIV($B$3;INDIRECT($B$2 & "!$A$3:$A$4");0);
EQUIV($B$9;INDIRECT($B$2 & "!$B$2:$G$2");0)
)


et merci encore
 

Dugenou

XLDnaute Barbatruc
Re : condition avec SI et rechercheV dans plusieurs feuilles

Bonjour,
des explications et une solution dans le fichier joint.
Sur l'idée de lolote pour le indirect mais avec des index et index equiv equiv : je te donne toutes les explications si le résultat te convient.
Cordialement
 

Pièces jointes

  • slimek1.xlsx
    24.2 KB · Affichages: 106

Dugenou

XLDnaute Barbatruc
Re : condition avec SI et rechercheV dans plusieurs feuilles

Re,
J'ai testé l'ajout d'une feuille avec un nouveau code et ça fonctionne
je ne comprends pas bien l'utilité du code s'il ne se retrouve que sur une seule feuille : ça fait doublon avec le nom de la feuille
A te lire..
 

slimek

XLDnaute Nouveau
Re : condition avec SI et rechercheV dans plusieurs feuilles

bonjour Dugenou,
merci pour les explications,
j'ai décortique le code de lolote ainsi que le tiens,
dans les cellules du fichier que vous avez modifié,
et voila la formule que j'ai trouvé,
ben vu que je ne suis pas un expert, je vais vous demander votre avis a propos de la mienne
et de la comparer à la tienne :)

voici la formule que j'ai tapé en essayant d'utiliser la fonction INDIRECT que j'ai apris grace a lolote :

cellule B10 slimek
=SI(B4=1;
(RECHERCHEV(B2;INDIRECT(B2&"!$A$1:$J$25");2;FAUX));
RECHERCHEV(B2;INDIRECT(B2&"!$A$1:$J$25");5;FAUX))

cellule B10 Dugenou
=INDEX(INDIRECT($B$2&"!$B$2:$h$2");SI($B$4=1;1;SI($B$4=2;4;7)))

cellule B11 slimek
=SI(B4=1;
(RECHERCHEV(B3;INDIRECT(B2&"!$A$1:$J$25");2;FAUX));
RECHERCHEV(B3;INDIRECT(B2&"!$A$1:$J$25");5;FAUX))

cellule B11 Dugenou
=INDEX(INDIRECT($B$2&"!$B$3:$G$4");EQUIV($B$3;INDIRECT($B$2&"!$A$3:$A$4");0);EQUIV(B$10;INDIRECT($B$2&"!$B$2:$G$2");0))

je ne sais pas si la fonction INDEX, que je ne connais pas d’ailleurs, à le même rôle que la fonction RECHERCHE, mais et d’après ce que j'ai remarqué, c'est la seule différence entre les deux méthodes, la quelle est conseillé ?? :)

amicalement, slimek
 

Dugenou

XLDnaute Barbatruc
Re : condition avec SI et rechercheV dans plusieurs feuilles

Slimek,
Celle qui est conseillée c'est celle que tu comprends et que tu maitrises.
Mais lolote (que je salue) et moi te conseillons index et equiv car c'est plus puissant.
Je m'explique : avec recherchev ou H tu dois avoir ce que tu cherches en première colonne. Avec index et equiv ce n'est plus nécessaire. Mon second index en B11 recherche dans les deux sens : vertical et horizontal en une seule fois ce que tu ne peux pas faire avec recherchev.

Pour la différence entre les formules, tu dois constater que je traite le B4 = 1 ou 2 une seule fois en me servant de ce qui est obtenu en ligne 10 et du coup ça n'apparaît plus en ligne 11

Voir dans ce fichier 2 la suite des explications pour index
 

Pièces jointes

  • slimek2.xlsx
    25.8 KB · Affichages: 94
Dernière édition:

slimek

XLDnaute Nouveau
Re : condition avec SI et rechercheV dans plusieurs feuilles

Personnellement, je préfère la mienne, car je sais de quoi il s’agit et je comprend les éléments et les fonctions, mais comme vous l’avez dit,
la fonction est limité, du coup il va falloir passer à la votre, si c’est pas aujourd’hui, je serai obliger de le faire demain, donc je commencerai aujourd’hui et faire du bon travail, puisque vous le conseillez.
Bon, comme les petits à l’école, je vais essayer de comprendre comment fonctionnent ces formules, je les décortique une par une, ligne par ligne, fonction par fonction.
Cellule B10
Code:
=INDEX(
=> commencer la recherche
Code:
INDIRECT($B$2&"!$B$2:$h$2");
=> utiliser le nom de la feuille correspondant à la cellule B2 et y rechercher les données au niveau de la plage B2 à H2
Code:
SI($B$4=1;1;SI($B$4=2;4;7)))
=> si B4 est égale a 1 alors valeur vrai 1 sinon, B4 est égale a 2 d’où chercher dans les colonnes 4 et 7

Cellule B11
Code:
=INDEX
=> commencer la recherche
Code:
(INDIRECT($B$2&"!$B$3:$G$4");
=> utiliser le nom de la feuille correspondant à la cellule B2 et y rechercher les données au niveau de la plage B3 à G4
Code:
EQUIV($B$3; INDIRECT($B$2&"!$A$3:$A$4");0);
=> la je bloque ?!
Code:
EQUIV(B$10;INDIRECT($B$2&"!$B$2:$G$2");0))
=> la aussi je bloque Oo

Bref, je vais passer au fichier final, le fichier réel, et je vais essayer de commencer avec vos formules, et je vous tiens au courant :)

Amicalement
Slimek
 

Dugenou

XLDnaute Barbatruc
Re : condition avec SI et rechercheV dans plusieurs feuilles

Re,
EQUIV($B$3; INDIRECT($B$2&"!$A$3:$A$4");0) rechercher la valeur contenue en b3 dans la plage a3:a4 de la feuille affichée en b2 et afficher le chiffre obtenu (3 pour 3eme ligne, 2 pour 2eme etc

EQUIV(B$10;INDIRECT($B$2&"!$B$2:$G$2");0) rechercher la valeur contenue en b10 dans la plage b2:g2 de la feuille affichée en b2 et afficher le chiffre obtenu (3 pour 3eme colonne, 2 pour 2eme etc

en B3 tu as le code qu'on recherche dans la colonne A de la feuille voulue, en b10 tu as le titre de la colonne de la ligne 2 de la feuille voulue et index va chercher au croisement des deux chiffres trouvés, comme à la bataille navale !

Est-ce plus clair ?
 

slimek

XLDnaute Nouveau
Re : condition avec SI et rechercheV dans plusieurs feuilles

la je rencontre un petit problème en utilisant les formule en questions,
le problème n'a rien avoir avec les formules mais plutôt avec les espace vide! OO

j'ai des spécialités qui ont des noms composés, comme OPÉRATEUR PRISE DE VUE,
lorsque je fais appel a cette feuille la formule devient :
INDIRECT(B2&"!$A$1:$J$25") => OPERATEUR PRISE DE VUE!A1J25,
or avec les espaces, excel ne l'accepte pas,
du coup j'ai changé les noms en OPERATEUR_PRISE_DE_VUE, la formule fonctione,

mais au niveau de l'affichage final, elle ne doit pas comporter les ( _ ) !!
y-a-il une solution ou une formule pour ca ?? :rolleyes:


[Modif]

je n'ai pas vu votre réponse et j'ai posté,
oui la c'est plus claire :) merci pour la leçon :)
 

Dugenou

XLDnaute Barbatruc
Re : condition avec SI et rechercheV dans plusieurs feuilles

Bonsoir,
Oui on peut arranger ça par formule ou en affichant les noms des feuilles ailleurs (colonne cachée ou éloignée) et en affichant une valeur calculée.
On pourrait aussi ajouter une colonne dans la feuille liste avec le nom de la spécialité et le nom de la feuille qui lui correspond.
ça permet de gerer des noms de feuille plus courts (si tu en as 40 : bonjour la lisibilité des onglets !)
Je te l'ai fait dans cette pj, ainsi que des zones de liste déroulantes (données/validation) pour automatiser au max. les nouvelles données sont prises en compte si tu les mets en premier dans la feuille liste.
Cordialement
 

Pièces jointes

  • slimek3.xlsx
    28 KB · Affichages: 73
Dernière édition:

Lolote83

XLDnaute Barbatruc
Re : condition avec SI et rechercheV dans plusieurs feuilles

Bonjour Slimek, Dugenou,
Bon ben je vois que pendant que je faisais un peut d'escalade hier soir (autre passion), d'autres ont bien bossé !!! Bravo.
Je crois que je n'ai plus rien à dire sauf !!!!!
Attention avec la fonction INDIRECT si les noms d'onglets de sont pas constitués d'un seul mot, il faut absolument mettre entre quotte ' (touche 4) les références.

Formule tirée de la cellule B11 de Dugenou.

=INDEX(INDIRECT($B$5&"!$B$3:$aa$500");EQUIV($B$3;INDIRECT($B$5&"!$A$3:$A$500");0);EQUIV(B$10;INDIRECT($B$5&"!$b$2:$aa$2");0))

Si un nom d'onglet est constitué d'un espace, un underscore, il faut mettre les quottes.

=INDEX(INDIRECT("'" & $B$5&"'!$B$3:$AA$500");EQUIV($B$3;INDIRECT("'" & $B$5&"'!$A$3:$A$500");0);EQUIV(B$10;INDIRECT("'" & $B$5&"'!$b$2:$aa$2");0))

Bref, je n'ai plus rien à ajouter. Bonne continuation à vous deux.
Et si jamais vous voulez faire un peut d'escalade pour vous dégourdir les jambes, pas de problème ...... je retourne au boulot !!!!
 

slimek

XLDnaute Nouveau
Re : condition avec SI et rechercheV dans plusieurs feuilles

bonjour lolote, Dugenou,
hier j'ai bossé jusqu'à 3h30 du mat sur le fichier, au début c’était avec les INDEX, INDIRECT & EQUIV,
mais je n'ai pas réussi Oo
malgré toutes les explications, je n'ai pas réussi a comprendre l'architecture de la formule,
peut être car les 3 sont nouvelles pour moi ?!

bref, 8h au bureau, je n'ai pas suivi les recommandation de mon professeur Dugenou, je suis désolé,
j'ai travaillé avec des SI, RECHERCHE et INDIRECT, et voila un aperçu sur le fichier pré-final.

le fichier excel contient maintenant, 5 sheet, dont 3 fixes :

- RELEVE : ou il y a une seule cellule disponible, pour saisir le code CIN et tout sera rempli automatiquement
- TABLEAU_BORD : ou on trouve les informations nécessaires sur le calcul et sur les notes et moyennes qui n'apparaissent pas au niveau du relevé mais nécessaire pour l'administration et lors des PV des classes.
- ETUDIANTS : a chaque fois qu'il y a un nouveau étudiant, les informations nécessaire seront saisie manuellement, cette liste va contenir les informations sur la totalité des étudiants.


et puis les sheets par spécialités, ou on trouve les matières, le régime de la matière (annuelle ou semestrielle), les notes, etc, des étudiants qui sont dans la même spécialité, donc pour commencer, j'ai créé deux spécialités, du coup 2 sheet, pour tester, ces sheet là vont atteindre plus que 40 Oo :
- BTP_ARCHI
- BTP_SON


le fichier est protégé par mot de passe pour comprendre le principe au debut, puis si vous avez besoin d'oter la protection ,
le mot de passes est djdjdj,

amicalement, slimek.
 

Pièces jointes

  • BD_ETUDIANT_F.zip
    115.7 KB · Affichages: 73

Discussions similaires

Statistiques des forums

Discussions
312 623
Messages
2 090 285
Membres
104 480
dernier inscrit
Gatsuken