Formule matricielle et liste

Fermé
TheNico38 Messages postés 14 Date d'inscription lundi 13 février 2017 Statut Membre Dernière intervention 20 mars 2017 - 14 mars 2017 à 10:54
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 - 15 mars 2017 à 13:21
Bonjour,



Vous trouverez ci-joint un fichier avec ce dont j'aurais besoin

https://mon-partage.fr/f/o2BCY48F/

Le but est de pouvoir faire apparaître des liste de données en fonction d'un ou plusieurs critères.

Les formules matricielles sont les bonnes mais je n'arrive pas à comprendre le mécanisme, donc j'essaie de faire à partir d'exemple, mais je bloque assez vite.

Merci d'avance
A voir également:

2 réponses

Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
Modifié par Vaucluse le 14/03/2017 à 11:08
Bonjour

en D22, la matricielle:

=SIERREUR(INDEX(Champ;PETITE.VALEUR(SI(mat=$C$3;LIGNE($A$1:$A$101));LIGNE($A1));6);"")

remplacer le LIGNE(A13) pas LIGNE(A1)

sinon vous allez chercher en commençant par la 13° valeur au dessus du plus petit!

et bien entendu, il faut que le code construit en A22 existe dans la feuille Bordereau pour que les recherches fonctionnent, ce n'est pas le cas de votre modèle, mais sans doute les listes sont elles incomplètes.


Pour info
le LIGNE(A1) dans la formule donne le rang cherché pour la petite valeur et permet d'incrémenter en tirant la formule vers les bas:
LIGNE(A1) =1 devient LIGNE(A2) =2 etc...

crdlmnt
La qualité de la réponse dépend surtout de la clarté de la question, merci!
0
TheNico38 Messages postés 14 Date d'inscription lundi 13 février 2017 Statut Membre Dernière intervention 20 mars 2017
14 mars 2017 à 11:19
Merci de la réponse, mais en fait les formules existantes sont déjà issue d'une demande sur ce même forum, je ne maîtrise pas la fonction index et petite valeur.
A ce jour je commence à comprendre la notion de matrice pour tout ce qui est somme mais je ne suis pas encore en mesure de construire une formule matricielle tout seul.
Pour la notion du code qui doit être présent dans l'onglet Bordereau, effectivement la liste est incomplète
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396 > TheNico38 Messages postés 14 Date d'inscription lundi 13 février 2017 Statut Membre Dernière intervention 20 mars 2017
Modifié par Vaucluse le 14/03/2017 à 11:45
Ok mais est ce que la modif préconisée vous donne satisfaction?
pour mémoire en D22
=SIERREUR(INDEX(Champ;PETITE.VALEUR(SI(mat=$C$3;LIGNE($A$1:$A$101));LIGNE($A1));6);"")

crdlmnt
0
TheNico38 Messages postés 14 Date d'inscription lundi 13 février 2017 Statut Membre Dernière intervention 20 mars 2017 > Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022
14 mars 2017 à 12:35
euh non pas vraiment par rapport à ma demande
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
14 mars 2017 à 13:11
C'est quoi exactement, votre demande, vu qu'en fait après contrôle, (la formule est correcte dans la colonne le blocage des volets m'avait induit en erreur)
Alors qu'est ce qui ne va pas?
,sachant comme déja dit, que dans le cas de la feuille contrôle de votre modèle, la référence basé sur C3 n'existe pas dans le champ de RECHERCHE, d'où les #N/A et que par contre les résultats en B,C,D,E sont corrects
A vous lire
0
TheNico38 Messages postés 14 Date d'inscription lundi 13 février 2017 Statut Membre Dernière intervention 20 mars 2017 > Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022
14 mars 2017 à 13:22
Dans le fichier, j'ai mis les conditions

Mais la problématique est la suivante

Lorsque je sélectionne dans l'onglet "Contrôle Individuel" un code GAP, je souhaite avoir une liste issue de l'onglet "Requete Ad-hoc" comprenant les champs indiqués, à savoir :
Matricule (colonne B) - Date de début (colonne F) - Date de fin (Colonne G) - Nb d'IJSS (colonne Q)
Ne pas tenir compte de la colonne A de l'onglet Contrôle individuel, elle doit me servir à alimenter les colonnes F, G, H du même onglet.

L'idéal était de rajouter une condition qui dit la chose suivante :
Si le champ Matricule de l'onglet Contrôle individuel est renseigné, n'afficher que les renseignements pour ce matricule, sinon afficher la liste des matricules.
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396
Modifié par Vaucluse le 15/03/2017 à 11:45
Bonjour
quelques corrections à faire....:-)))) Excel n'aime pas trop la fantaisie!
  • votre plage en requête dépasse 4000 lignes

*les champs nommés ne sont pas alignés:
  • pour assurer le fonctionnement de la matricielle sans correction de ligne, ils doivent démarrer à la ligne 1 et pour couvrir toute la plage, aller par exemple jusqu'à la ligne 5000

et tous à la même hauteur
  • dans votre formule, vous faites référence à LIGNE($A$$1:$A$99)... ça ne suffira pas,vu le champ GAP,utilisez: LIGNE($A$1:$A$5000) (même hauteur que les autres, y a pas de raison.

Et vous verrez que ça va aller beaucoup mieux
crdlmnt
La qualité de la réponse dépend surtout de la clarté de la question, merci!
0
TheNico38 Messages postés 14 Date d'inscription lundi 13 février 2017 Statut Membre Dernière intervention 20 mars 2017
15 mars 2017 à 12:40
ça y est je viens de comprendre, mais l'utilisation des fonctions matricielles reste quand même vraiment complexe.

Si vous connaissez des tutoriels, ça m'interesse ceux que je trouve concerne essentiellement des problématiques de calcul et de somme (comme les SommesSI ou les SommesProd)

Dans mon travail, c'est davantage des restitutions de données texte et ensuite des formules de calcul, ou de la macro suivant le cas.

Par exemple, dans la formule que j'ai décrite auparavant, comment le traduire en bon français,

Le SI.ERREUR est facile :
Si jamais le résultat de la formule génère une erreur alors j'affiche une autre valeur, sinon j'affiche le résultat de la formule

mais ensuite, la fonction INDEX et le reste ...

pourtant j'essaie de me former sur le net, notamment les fonctions INDEX et EQUIV

en tout cas merci pour tout
0
Vaucluse Messages postés 26496 Date d'inscription lundi 23 juillet 2007 Statut Contributeur Dernière intervention 1 avril 2022 6 396 > TheNico38 Messages postés 14 Date d'inscription lundi 13 février 2017 Statut Membre Dernière intervention 20 mars 2017
15 mars 2017 à 13:21
On va passer en privé pour ne pas tartiner là et je vous explique un peu
.. mais juste un peu et dans un moment!
surveiller l'enveloppe rouge en haut à droite de la page, à tout à l'heure
0