XL 2016 Formule matricielle???

elect31

XLDnaute Nouveau
Bonjour
Mon fichier = 4 feuilles
  1. La première contient les données à saisir : simplement 4 colonnes dont la seconde contient 3 données possibles : ENT, RSO ou REF (validation de données)
  2. J'aimerais bien que les feuilles suivantes (au nombre de 3, nommées respectivement ENT, RSO et REF) récapitulent les données de la première en faisant l'extraction automatique de ce qui est saisi en feuille1, ligne par ligne.
On pourrait faire ça en VBA, mais je préfèrerais, si c'est possible, uniquement par formule. Je pensais peut être qu'une formule matricielle (que je ne suis pas capable de faire) résoudrait mon problème?
J'ai mis un fichier exemple.
Merci de votre collaboration
 

Pièces jointes

  • XL download.xlsx
    16 KB · Affichages: 48

CHRIS1945

XLDnaute Occasionnel
Bonjour,
Une solution avec formule matricielle.
Il ya des explications dans le classeur et j'ai joint également un petit mémo sur les formules matricielles permettant de ramener plusieurs lignes ayant les mêmes références.
Si plus d'explications nécessaire me contacter.
Bonne continuation
A+
Chris
 

Pièces jointes

  • Ramener plusieurs lignes ayant les mêmes critères de sélection.xlsx
    19.7 KB · Affichages: 37

Dugenou

XLDnaute Barbatruc
Salut Chris,
Très intéressé par ton mémo je viens de le parcourir : je pense qu'il y a une erreur à la fin : la fonction ET ne marche pas dans une formule matricielle. Il faut soit imbriquer des SI, soit multiplier avec * les conditions : si((plage = valeur)*(plage2> autre valeur)*(plage3< autre valeur);ligne ....
Cordialement
 

CHRIS1945

XLDnaute Occasionnel
Bonjour Dugenou et bien merci d'avoir attiré mon attention.
Tu as parfaitement raison, cela m'avait échappé.
Je joins le mémo rectifié.
A+
Chris
 

Pièces jointes

  • Ramener plusieurs lignes ayant les mêmes critères de sélection.pdf
    78.1 KB · Affichages: 51
Dernière édition:

CHRIS1945

XLDnaute Occasionnel
Bonsoir,

Cela peut dépendre de l'utilisateur qui doit utiliser l'outil.

Tout le monde ne maîtrise pas Excel et, notamment, les filtres et il est plus facile d'expliquer aux opérateurs néophytes comment ouvrir le fichier et se déplacer d'un onglet à l'autre plutôt que de construire des filtres.
D'autre part, on peut aussi procéder à une mise en page (titres ; enlever éventuellement des colonnes etc..) et placement des totaux mieux adaptés que simplement en mettant des filtres.
Voilà quelques raisons qui me viennent à l'esprit.
Mais tu as raisons, si le créateur est l'utilisateur unique de ce tableau, il pourrait extraire ces renseignements en utilisant les filtres (mais à refaire à chaque fois)
A+
Chris
 

elect31

XLDnaute Nouveau
Bonjour et merci de vos réponses.
Oui effectivement, on peut le faire en VBA, on peut utiliser des filtres, mais c'est un dossier que je dois transmettre et voir le récapitulatif de chaque fonction que j'occupe, sur des pages différentes me semblait être une bonne solution.
Il aurait été bien pour cela que "l'extraction" des mes données en feuille "Global" se fasse automatiquement vers les autres feuilles, et se fasse aussi sans macro, car les gens qui ouvrent les fichiers n'ont pas à se poser de questions si Xl ne leur balance pas un message sur la sécurité.
C'est pour cette raison que je demandais si une formule matricielle ne résoudrait pas mon pb.
La solution de JHA (mais merci tout de même à lui) ne me convient donc pas.
La solution de CHRIS1945 me convient beaucoup mieux, mais j'ai du mal à la mettre en oeuvre.

Pour CHRIS : j'ai naturellement complété d'autres entrées dans ma feuille "Global" de ta solution. Elles ne se recopient pas. Il semblerait que seules 2 entrées soient acceptées par ta formule. Au-delà, ça ne prend pas.

J'ai mis du temps à te répondre car il a fallu que je parcoure et essaye d'intégrer ton mémo ( que je garde précieusement. Merci ).
Merci à tous de vos futures réponses. Votre aide m'est précieuse.
 

elect31

XLDnaute Nouveau
Toutes mes excuses pour JHA, mais sa 2° proposition (que j'avais vu trop vite) fonctionne. Tout se recopie, même s'il y a plusieurs entrées en feuille Global.
La formule est compliquée pour moi (utilisation de [ et de #En-têtes). Je vais essayé de la reproduire sur mon vrai fichier. Encore merci à lui et aux autres.
 

Dugenou

XLDnaute Barbatruc
hello,
les [ et #En-têtes et autres Tableaux[...] sont dus à l'utilisation de "tableaux" déclarés. en sélectionnant dans tes données tu obtiens directement cette syntaxe si tu as déclaré tes données en tableau.
cela semble complexe au début mais c'est tellement pratique ...

Cordialement
 

Dugenou

XLDnaute Barbatruc
un seul ennui : quand tu recopies à droite : les titres de colonnes changent (comme si tu n'avais pas mis de $ sur une adresse de cellule)
une première solution est de travailler avec des indirect : mais c'est très fastidieux !
une seconde, trouvée sur le net est d'utiliser la synthaxe suivante : Tableau1[champ1] remplacé par Tableau1[[champ1]:[champ1]]
Cordialement
 

CHRIS1945

XLDnaute Occasionnel
Bonjour à tous,
Désolé mais il y avait une petite coquille dans la formule (un $ oublié...) snif...

Je joins le classeur rectifié.
Il travaille pour 40 lignes de global et 30 lignes d'extraction. Si plus nécessaire, il suffit de remplacer les 41 dans la formule par le nombre de lignes désirées (à faire en cellule A4 des différents onglets Fonction - Attention formule matricielle à introduire en appuyant simultanément sur CTRL / MAJ / ENTREE)) et de dupliquer cette cellule jusqu'en D4 puis de tirer les lignes par "tirage" jusqu'au nombre de lignes désirées.
Attention au format DATE et Heure qu'il faudra réimplanter. Autre solution faire un copier / collage spécial / formule pour éviter de bousiller les formats.
A+
Chris
 

Pièces jointes

  • Ramener plusieurs lignes ayant les mêmes critères de sélection.xlsx
    19.7 KB · Affichages: 44

Statistiques des forums

Discussions
315 134
Messages
2 116 616
Membres
112 813
dernier inscrit
krizalid100