recherche multi critéres sur Bd

  • Initiateur de la discussion Initiateur de la discussion wrap food
  • 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 !

wrap food

XLDnaute Occasionnel
bonjour,
je chercher le moyen d'extraires des données depuis une feuille dans une autres feuille type planning avec plusieurs critéres
je nous mets un exemple si joint
merci par avance
 

Pièces jointes

Re : recherche multi critéres sur Bd

Bonsoir wrap food et le Forum

Si j'ai bien compris, voici une solution

Dans ta feuille "Planning" utilise des Zone de Liste
alimentées par ta Bdd

A moins que ce ne soit pas cela que tu cherche a faire

Cordialement
 
Re : recherche multi critéres sur Bd

Bonsoir,

Une tentative avec ce que j'ai compris :

Sur la base de formules matricielles :

en A3 :

Code:
=SI(LIGNES($1:1)>SOMME((BD!$A$3:$A$48=A$1)*(BD!$B$3:$B$48<>""));"";INDEX(
BD!$B$3:$B$48;PETITE.VALEUR(SI((BD!$A$3:$A$48=A$1)*(BD!$B$3:$B$48<>"");
(BD!$A$3:$A$48=A$1)*(BD!$B$3:$B$48<>"")*LIGNE(BD!$A$3:$A$48));LIGNES($1:1))-2))
en B3 :

Code:
=SI(A3="";"";INDEX(BD!$D$3:$D$48;EQUIV(A$1&$A3;BD!$A$3:$A$48&BD!$B$3:$B$48;0)))&""
en C3 :

Code:
=SI(A3="";"";INDEX(BD!$E$3:$E$48;EQUIV(A$1&$A3;BD!$A$3:$A$48&BD!$B$3:$B$48;0)))
en D3 :

Code:
=SI(A3="";"";INDEX(BD!$C$3:$C$48;EQUIV(A$1&$A3;BD!$A$3:$A$48&BD!$B$3:$B$48;0)))&""
en E3 :

Code:
=SI(A3="";"";INDEX(BD!$F$3:$F$48;EQUIV(A$1&$A3;BD!$A$3:$A$48&BD!$B$3:$B$48;0)))&""
Ces formules sont matricielles, elles doivent être validées par CTRL + MAJ + ENTREE

à recopier vers le bas

@+
 
Re : recherche multi critéres sur Bd

Bonjour,

Désolé, je n'ai pas été très explicite.

Je voudrais extraire les données De BD dans le planning.

Je m'explique dans le planning il faUdrait qu'apparaisse par jour et dans l'ordre des heures colonne (A) toutes les prestations colonne (B) le nombre de prestation (c) le lieu colonne (D) et le Service colonne (E).

Petite précision; j'ai plus de 1500 lignes de données

j'espère avoir bien expliqué mon problème.

Par avance merci de votre aide .
 

Pièces jointes

Re : recherche multi critéres sur Bd

Bonjour,

Je te joins ton fichier avec une adaptation des formules proposées hier.

L'adaptation a consisté à utiliser des plages nommées dynamiquement.

Je te laisse faire quelques tests

@+
 

Pièces jointes

Re : recherche multi critéres sur Bd

merci, Tibo

Mais j' encore un petit problème désoler quand je modifier la BD le planning ne change pas.

Peux tu me dire comment je dois faire pour le modifier.

Et est il possible de faire extraire de BD la partie pateaux repas?
sachant que j'ai encore au moins quatres types de prestations supplémentaires


Je sais j'en demade beaucoup, mais cela fait un ans que je suis sur fichier et je ne men sorts pas.

Merci beaucoup
 

Pièces jointes

Re : recherche multi critéres sur Bd

re,

Bon, ça ne fut pas simple, mais ce fut bon 😛

Je te donne les 2 principales formules (matricielles bien entendu) :

en A3 :

Code:
=SI(LIGNES($1:1)>SOMME((BD!$A$3:$M$48=$A$1)*(BD!$B$2:$N$2="Heures")*
(BD!$B$3:$N$48<>""));"";ENT(PETITE.VALEUR(SI((BD!$A$3:$M$48=$A$1)*(SI(ESTNUM(
BD!$B$3:$N$48);BD!$B$3:$N$48+LIGNE(BD!$B$3:$N$48)/10000));(BD!$A$3:$M$48=$A$1)*
(SI(ESTNUM(BD!$B$3:$N$48);BD!$B$3:$N$48+LIGNE(BD!$B$3:$N$48)/10000)));
LIGNES($1:1))))
en B3 :

Code:
=SI($A3="";"";INDEX(BD!$A$3:$R$48;SOMME((PETITE.VALEUR(SI((BD!$A$3:$M$48=$A$1)*
(SI(ESTNUM(BD!$B$3:$N$48);BD!$B$3:$N$48+LIGNE(BD!$B$3:$N$48)/10000));(BD!
$A$3:$M$48=$A$1)*(SI(ESTNUM(BD!$B$3:$N$48);BD!$B$3:$N$48+LIGNE(BD!$B$3:$N$48)
/10000)));LIGNES($1:1))=(BD!$A$3:$M$48=$A$1)*(SI(ESTNUM(BD!$B$3:$N$48);
BD!$B$3:$N$48+LIGNE(BD!$B$3:$N$48)/10000)))*LIGNE(BD!$A$1:$A$46));SOMME((
PETITE.VALEUR(SI((BD!$A$3:$M$48=$A$1)*(SI(ESTNUM(BD!$B$3:$N$48);BD!$B$3:$N$48+
LIGNE(BD!$B$3:$N$48)/10000));(BD!$A$3:$M$48=$A$1)*(SI(ESTNUM(BD!$B$3:$N$48);
BD!$B$3:$N$48+LIGNE(BD!$B$3:$N$48)/10000)));LIGNES($1:1))=(BD!$A$3:$M$48
=$A$1)*(SI(ESTNUM(BD!$B$3:$N$48);BD!$B$3:$N$48+LIGNE(BD!$B$3:$N$48)/10000)))*
COLONNE(BD!$A$2:$M$2))[COLOR=Red][B]+3[/B][/COLOR]))&""
Les deux formules sont matricielles donc à valider par CTRL + MAJ + ENTREE

La 2ème formule est ensuite à reprendre pour les colonnes suivantes en adaptant le +3

On recopie ensuite ces formules pour les autres journées, là aussi, en adaptant selon la journée concernée.

Le point un peu délicat à gérer a été la possibilité d'avoir deux prestations le même jour à la même heure.

Le fichier est joint.

Je te laisse vérifier.



@+
 

Pièces jointes

Re : recherche multi critéres sur Bd

Un trés trés trés grand merci a TIBO
c'est juste parfait.
une derniere question; j'aurai besoin que la recherhe se face sur 1750 lignes
dans le code en B3 j'ai remplacé les $48 par $1750 est cela ne fonction pas (même en matricielle).
Alors que la même opération fonction dans le code en A3
Je me trompe dans mon résonement?
et encore merci
 
Re : recherche multi critéres sur Bd

Bonjour,

Content que ça réponde à ton souhait.

Quant au fait de vouloir faire la recherche sur 1750 lignes, il faut effectivement remplacer le 48 par 1750, mais également 46 par 1748

Cela dit, des formules matricielles sur 1750 lignes, ça va sans doute prendre en temps de calcul un certain temps, voire un temps certain.

Je te laisse déjà modifier et voir ce que ça donne en temps de calcul.

Bon WE

@+
 
Re : recherche multi critéres sur Bd

Merci TIBO

J'ai fait les modifiquation sur les trois premiers joursdu planning et OUPS.
je viens de voir que dans la base j'ai besoin de plus de prestation.
Ma dérnier question ( j'espere) et faut-il tous refaire ( et la je suis honteu) ou faut il modifier les codes
Si il possible de les modifiers comment puis je faire

je mets le fichier ci-joint

Encore une fois desolé de ne pas evois pendez a tous avant.

Par avance merci
 

Pièces jointes

Re : recherche multi critéres sur Bd

Bonjour,

J'ai repris le travail à zéro en voulant utiliser cette fois la fonction ADRESSE

C'est après avoir lu plusieurs réponses de David84 (que je remercie donc) que je commence à percevoir l'intérêt de cette fonction.

J'ai nommé quelques zones.

En A3, la formule devient :

Code:
=SI(LIGNES($1:1)>SOMME(((tablo_dates=$A$1)*(tablo_heures<>""))*1);"";
PETITE.VALEUR(SI((tablo_dates=$A$1)*(tablo_heures<>"");tablo_heures);
LIGNES($1:1)))
en B3 :

Code:
=SI($A3="";"";INDIRECT(ADRESSE(PETITE.VALEUR(SI((tablo_dates=$A$1)*(tablo_heures
=$A3);LIGNE(tablo));NB.SI($A$3:$A3;$A3));MOD(PETITE.VALEUR(SI((tablo_dates=$A$1)
*(tablo_heures=$A3);LIGNE(tablo)+COLONNE(tablo_heures)/10000);NB.SI($A$3:$A3;
$A3));1)*10000+2;;;"BD")))&""
Ce sont des formules matricielles, donc à valider par CTRL + MAJ + ENTREE

Voir le fichier joint

Je te laisse vérifier et adapter à ton vrai fichier.

@+
 

Pièces jointes

Re : recherche multi critéres sur Bd

Super a tibo
Merci
j'ai sute modifier le code pour avoir l'analyse sur 1760 lignes
Je suis confu mais j'ai encore un probléme ( et la je ne comprend pas)
je n'arrive pas a faire une somme.si sur le planning
je vous mets l'exemple
je suis presque au bout ( mais la je séche je suis) cela vient il des codes matricielles

Par avance merci
 

Pièces jointes

Re : recherche multi critéres sur Bd

Bonjour,

Une toute petite correction dans les colonnes Nbre :

à la fin de la formule, supprimer le &""

Ce &"" a pour principal intérêt, dans le cas présent, d'éviter l'affichage des 0 lorsqu'il y a une cellule vide, mais transforme la valeur en Texte.

Après avoir supprimé ce &"", ne pas oublier de revalider par CTRL + MAJ + ENTREE

puis recopier vers le bas

Ensuite, un :

Code:
 =SOMME.SI($B$8:$B$31;A3;$C$8:$C$31)

avec la prestation en A3 fonctionne sans souci

Je te laisse adapter

@+
 
- 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
4
Affichages
219
Réponses
13
Affichages
332
Réponses
2
Affichages
241
Réponses
3
Affichages
233
Réponses
5
Affichages
422
W
Retour