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

Recherche multi occurence et intervalle de date

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

ZiM

XLDnaute Nouveau
Bonjour le fil !

Tout d'abord merci pour vos contributions et votre investissement pour aider les débutants.

Je viens vers vous car je développe une petite calculette sous Excel.

J'intègre une base de données (B.Données) et sur une page non livrée je détermine un code en fonction d'infos diverses. Ce code est fonction du "Sex" et du "Type". Pas de soucis jusque la.

Mon souci arrive quand je dois pomper dans la table PR pour rechercher ce code (qui est présent X fois en fonction de dates ET d'âges en moi).

J'ai indiqué sur la feuille "Calc" ligne 3 un exemple.

Pour un type 66 de sexe F mon code PR est de 212 (c'est géré sur une page non livré dans la PJ).

La recherche à effectuer doit répondre dans l'ordre :
- Code = 212
- Date d'intervention (feuille Calc) comprise entre G & H (feuille PR).
- Age le plus proche de la ligne (108 mois)
- Renvoyer la colonne F --> PR

Dans mon exemple ligne 3, c'est donc la valeur 1 213 que je cherche (soit feuille PR G:1929).

La formule doit pouvoir s'appliquer manuellement ou en VB (le VB de ce niveau n'est pas pour moi… ni les formules à ce qu'il paraît...)

J'ai testé les Index / Equiv / Recherche sans succès.

Je vous remercie grandement pour votre contribution !
 

Pièces jointes

Bonjour le Forum,
Bonjour ZIM,

Je ne sais pas si je pourrais t'aider mais j'ai quand même une ou 2 questions

tu dis que tu veux comme résultat (soit feuille PR G:1929). je suppose que c'est (soit feuille PR H:1929)

ensuite 108 est egal a un nombre de mois mais les valeur age de la feuille PR vu la valeur me parraissent être des années ce qui voudrait dire que la valeur a renvoyer serait (soit feuille PR G:1908) ou l'age est de 9 car 9*12 = 108

Voila regardes et dis nous

Cordialement
 
Bonjour Jocelyn,

Merci de prendre du temps pour m'aider.

L'âge est bien en mois mais il est nettement supérieur au plafond de 30 inclus dans le tableau (c'est donc la valeur la plus proche !)

La cellule doit retourner F1929 soit 1213 en effet j'ai fait une erreur de lecture… Mais ce n'est pas H !
L'objectif est de retourner une valeur (€) pour un Type, un sex, et une intervalle de date.
 
re

ok alors je voulais être sur ar une grosse différence entre 30 et 108 d'autant que sur aucune ligne on ne trouve plus de 30

Donc voila une formule mais attention elle risque de mettre un peu de temps niveau calcul du VBA serait beaucoup mieux mais je suis une bille a ce jeu la alors je ne pourrais pas t'aider en VBA

Cordialement
 

Pièces jointes

Merci pour ta formule. Elle fonctionne mais j'ai une petite question car je ne pratique pas le matriciel.

Le calcul doit être lancé à chaque ligne pour que cela fonctionne ? Quand est-il nécessaire de lancer la combinaison de touches ?

Merci
 
Bonsoir, j'ai intégré ta formule qui fonctionne parfaitement tant que la date reste saisie.
Je souhaitais donc modifier la formule pour intégrer un si mais cela la fait complètement planter.
Impossible de la relancer avec Ctrl+Shift+Enter…

Une alternative / correction possible svp ?
 
Bonjour à tous,
Bonjour Jocelyn🙂

Avec sierreur(), pas de soucis, en "G3"

Code:
=SIERREUR(INDEX(PR!$F$2:$F$8492;PETITE.VALEUR(SI((PR!$B$2:$B$8492*1=F3)*(PR!$G$2:$G$8492*1<=E3)*(PR!$H$2:$H$8492*1>=E3)*(ABS(PR!$D$2:$D$8492-D3)=MIN(SI((PR!$B$2:$B$8492*1=F3)*(PR!$G$2:$G$8492*1<=E3)*(PR!$H$2:$H$8492*1>=E3);ABS(PR!$D$2:$D$8492-D3))));LIGNE(PR!$B$2:$B$8492)-1);1));"")

Formule matricielle à valider par les 3 touches Ctrl+Maj+Entrée

JHA
 
Merci pour votre aide. Je test d'ici à mercredi vos solutions.

Pour info aux noob's comme moi.
Pour valider une "plage de cellules matricielles" il faut :
- Copier votre formule vers le haut/bas/gauche/droite
- Aller cliquer dans la barre de formules (ou F2) et ENFIN faire CTRL SHIFT ENTER

Si je me tromper merci de me corriger mais chez moi j'ai réussi comme cela.
Bon go formation perso sur ce potentiel énorme de calcul !

Edit 1 :

Bon rapidement j'ai testé la formule de JHA et après validation le code reste bloqué sur les valeurs de D3/E3/F3.

La formule matricielle ne présente que le résultat de la ligne 3 peu importe son emplacement sur la page.
Je cherche un plan B sur cette base !
 
Dernière édition:
re,
Bonjour JHA🙂

Alors le formule de l'ami JHA fonctionne très bien (voir le fichier joint)

Pour ne pas être ennuyé avec la formule la mettre en G3 (suivant l'exemple) puis la validée matriciellement seulement ensuite avec la poignée l'étirer vers le bas. Suivant l'exemple sélectionner G6 et avec la poignée étirer vers le bas



Cordialement
 

Pièces jointes

- 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
2
Affichages
1 K
Réponses
1
Affichages
1 K
Réponses
3
Affichages
742
Réponses
1
Affichages
1 K
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…