[Résolu]Rechercher plusieurs lignes de données selon critère

Discussions à propos du tableur Calc.
Les questions sur les macros doivent être postées dans la section dédiée en dessous.

Modérateur: Vilains modOOs

Règles du forum
Cette section est uniquement dédiée au tableur Calc. Vous ne devez pas poster ici de questions sur les macros mais utiliser la section éponyme.

[Résolu]Rechercher plusieurs lignes de données selon critère

Messagepar Sim62140 » 19 Juil 2018 21:37

Bonjour à tous,

Je cherche un moyen de faire ressortir plusieurs lignes de données selon le même critère de recherche mais en ignorant les lignes de données déjà ressorties. (C'est brouillon je sais, je fournis un exemple)

Dans mon cas concret, je veux qu'en écrivant "Course", "Trail" ou "Fractionné", le 2nd tableau me renvoie chaque lignes correspondantes du 1er tableau mais sans me donner 2 fois la même.

Merci d'avance, cordialement.
Pièces jointes
ExempleCourse.ods
(16.9 Kio) Téléchargé 5 fois
Dernière édition par Oukcha le 31 Juil 2018 14:24, édité 1 fois.
Raison: Balisage
OpenOffice 4 sous Windows 10
Sim62140
Fraîchement OOthentifié
 
Message(s) : 7
Inscrit le : 15 Juin 2018 15:36

Re: Rechercher plusieurs lignes de données selon un critére.

Messagepar Jean-Louis Cadeillan » 19 Juil 2018 22:32

Bonsoir,
Dans la solution proposée ci-joint, il suffit de choisir en B16 par liste déroulante le type de course pour que le second tableau affiche toutes les courses du même type : est-ce bien cela que tu souhaitais ?
Cordialement,
Jean-Louis
Pièces jointes
Sim62140_20180719_JLC01.ods
(23.21 Kio) Téléchargé 10 fois
LibreOffice 6.1.1.2 (x64) et Apache OpenOffice 4.1.5, Windows 7 Édition Intégrale 64 SP1, Java (x64) 1.8.0_181 (Domicile)
LibreOffice 5.4.1.2 (x86) sous Linux Karoshi 5.0 (Ubuntu LTS 16.04.1, noyau 4.4.0-93) et Xfce 4.12, Java (x86) 1.8.0_131 (Travail)
Avatar de l’utilisateur
Jean-Louis Cadeillan
ManitOOu
ManitOOu
 
Message(s) : 3872
Inscrit le : 03 Jan 2009 00:56

Re: Rechercher plusieurs lignes de données selon un critére.

Messagepar Sim62140 » 20 Juil 2018 11:37

Bonjour Jean-Louis

Vous êtes décidemment un génie ..

Je comprends la formule dans "Type".
Je comprends également les formules dans toute les colonnes suivantes.
Mais, je ne comprends pas la formule utilisée dans la colonne "Date", pouvez vous essayer de me l'expliquer?

Mille merci, Teddy.
OpenOffice 4 sous Windows 10
Sim62140
Fraîchement OOthentifié
 
Message(s) : 7
Inscrit le : 15 Juin 2018 15:36

Re: Rechercher plusieurs lignes de données selon un critére.

Messagepar Jean-Louis Cadeillan » 20 Juil 2018 12:02

Bonjour,
Sim62140 a écrit:la formule utilisée dans la colonne "Date", pouvez-vous essayer de me l'expliquer ?

Code : Tout sélectionner   AgrandirRéduire
=SI(ESTERR(PETITE.VALEUR(SI($B$3:$B$12=$B$16;$A$3:$A$12;"");LIGNE($A$1:$A$10)));"";PETITE.VALEUR(SI($B$3:$B$12=$B$16;$A$3:$A$12;"");LIGNE($A$1:$A$10)))
est une formule matricielle, à saisir en A16 et à valider par Ctrl+Maj+Entrée.
Le contrôle d'erreur l'alourdit :
Code : Tout sélectionner   AgrandirRéduire
=SI(ESTERR(PETITE.VALEUR(...));"";PETITE.VALEUR(...))
Donc en enlevant le contrôle d'erreur, on obtient :
Code : Tout sélectionner   AgrandirRéduire
=PETITE.VALEUR(SI($B$3:$B$12=$B$16;$A$3:$A$12;"");LIGNE($A$1:$A$10))
PETITE.VALEUR() renvoie la nième petite valeur d'une liste de valeurs numériques et LIGNE($A$1:$A$10) est une façon d'écrire {1, 2, 3..., 10}, c'est-à-dire que PETITE.VALEUR() renvoie la première petite valeur, la deuxième,.... la dixième petite valeur dans une matrice de 1 colonne et 10 lignes (un "vecteur"). Mais quelles sont ces valeurs ? Ce sont celles contenues dans la matrice retournée par SI($B$3:$B$12=$B$16;$A$3:$A$12;"") qui est aussi un vecteur rempli comme suit : "si le type de courses est identique à celui contenu dans B16, alors afficher la date correspondante, sinon ne rien afficher". Dans le cas, par exemple où B16="Fractionné", le "vecteur" SI(...) retourne {"";"";03/08/18;"";"";06/08/18;"";"";"";10/08/18}... à charge pour PETITE.VALEUR() de trier ces valeurs et les "remonter", mais ce qui génère des erreurs quand PETITE.VALEUR() ne trouve pas... de valeur ! D'où le contrôle d'erreur.
Cordialement,
Jean-Louis
LibreOffice 6.1.1.2 (x64) et Apache OpenOffice 4.1.5, Windows 7 Édition Intégrale 64 SP1, Java (x64) 1.8.0_181 (Domicile)
LibreOffice 5.4.1.2 (x86) sous Linux Karoshi 5.0 (Ubuntu LTS 16.04.1, noyau 4.4.0-93) et Xfce 4.12, Java (x86) 1.8.0_131 (Travail)
Avatar de l’utilisateur
Jean-Louis Cadeillan
ManitOOu
ManitOOu
 
Message(s) : 3872
Inscrit le : 03 Jan 2009 00:56

Re: Rechercher plusieurs lignes de données selon un critére.

Messagepar Sim62140 » 20 Juil 2018 15:32

J'ai mis du temps mais je viens de comprendre dans l'ensemble !
$B$3:$B$12=$B$16

C'est cette partie qui rend la formule matricielle ?
LIGNE($A$1:$A$10)

Ou celle là ?
Ou les deux ..?
Je ne connaissais pas les formules matricielles, nouvelle découverte pour moi :)

Le temps que j'y suis, est il possible de faire la même chose avec 2 critères ? Pour l'instant je n'en ai pas l'intérêt mais quand j'aurais beaucoup plus d'entrées, pourrais-je faire ressortir uniquement les "Courses" pendant le mois d'Aout uniquement, par exemple.

Merci encore du temps que vous prenez pour moi et pour chaque personne ici !

EDIT = Peut-on revenir en arrière sur une formule matricielle ? L'annuler en quelque sorte pour la modifier ?
OpenOffice 4 sous Windows 10
Sim62140
Fraîchement OOthentifié
 
Message(s) : 7
Inscrit le : 15 Juin 2018 15:36

Re: Rechercher plusieurs lignes de données selon un critére.

Messagepar Jean-Louis Cadeillan » 20 Juil 2018 16:47

Sim62140 a écrit:Ou les deux ..?
Oui, une formule nécessite une validation matricielle lorsque la formulation standard d'un ou de plusieurs de ses arguments n'est pas une matrice (à voir comme définition récursive : un de ses arguments peut être une formule qui...etc.)
Sim62140 a écrit:est il possible de faire la même chose avec 2 critères ?
Oui, la partie SI($B$3:$B$12=$B$16;... peut se complexifier, comme n'importe quel test, avec des fonctions OU(), ET(), des opérateurs *, +...
Sim62140 a écrit:Peut-on revenir en arrière sur une formule matricielle ?
Oui, il faut commencer par sélectionner toutes les cellules qui en font partie : soit à la souris soit Ctrl+/ (barre oblique du clavier numérique); les cellules ainsi sélectionnées, on peut supprimer la formule (Suppr) ou la modifier F2. Si elle doit changer de dimensions (par exemple $B$3:$B$100=$B$16), on la copie (F2, Ctrl A, Ctrl C), on la supprime, on la recolle dans la première cellule et on valide par Ctrl+Maj+Entrée.
A+
Jean-Louis
LibreOffice 6.1.1.2 (x64) et Apache OpenOffice 4.1.5, Windows 7 Édition Intégrale 64 SP1, Java (x64) 1.8.0_181 (Domicile)
LibreOffice 5.4.1.2 (x86) sous Linux Karoshi 5.0 (Ubuntu LTS 16.04.1, noyau 4.4.0-93) et Xfce 4.12, Java (x86) 1.8.0_131 (Travail)
Avatar de l’utilisateur
Jean-Louis Cadeillan
ManitOOu
ManitOOu
 
Message(s) : 3872
Inscrit le : 03 Jan 2009 00:56

Re: Rechercher plusieurs lignes de données selon un critére.

Messagepar Oukcha » 31 Juil 2018 14:23

Bonjour,

Dernière visite le : 20 Juil 2018 23:33


Vous avez lu semble t-il les réponses qui vous ont été faites sans y donner de suite.
N'ayant plus de nouvelle, on peut en déduire que le problème est résolu ou ne se reproduit plus.

Merci de baliser par vous-même la prochaine fois.

Un remerciement fait aussi plaisir aux bénévoles qui vous ont consacré de leur temps.
La politesse fait également partie de la philosophie du logiciel libre.

En cas d'erreur, contactez l'équipe de modération pour la réouverture du fil.
                                        
:arrow: A lire avant tout ! Image
Avatar de l’utilisateur
Oukcha
RespOOnsable modération
RespOOnsable modération
 
Message(s) : 2938
Inscrit le : 06 Oct 2008 09:03


Retour vers Tableur

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : chtibreizh, Google [Bot] et 20 invité(s)