Vous utilisez un navigateur obsolète. Il se peut que ce site ou d'autres sites Web ne s'affichent pas correctement. Vous devez le mettre à jour ou utiliser un navigateur alternatif.
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 !
Je recherche une formule à mettre dans une feuille qui me permettrai d'extraire des données contenues sous un filtre auto pour les ressortir dans d'autres cellules, un peu comme un filtre élaboré je crois, mais sous forme de formule.
Ligne(A1), A1 doit toujours être A1.
LIGNE($1:$60), la référence doit toujours commencé en ligne 1 et sa longueur doit être identique à la longueur de la plage de données (sans le titre).
B$13, correspond à la ligne de titre. (peut importe la colonne de référence)
Edito : Une petite précision : la colonne à filtrer est la colonne A
Salut Saïd, JeanMarie et à tous, adeptes du forum🙂
En pièce jointe, vous trouverez mon tableau pour plus d'explications.
Je souhaiterai un tableau qui récapitulerait l'ensemble des info obtenues dans les tableaux "Total des NC par client" et "Attribution des Non-conformités" selon les données que j'aurai filtré au préalable, dans la feuille "saisie".
J'ai commencé un tableau avec "nbre de NC (sous filtre dans saisie)" et j'ai essayé d'incorporer la formule proposé par JeanMarie.Mais je n'ai pas réussi à l'adapter.(Je suis débutant)
Attention : dans ton tableau Saisie!G$5:G$45 la cellule est au format "texte", et le type est au format numérique pour la plage Tableaux!E3:E8. Pour que la formule puisse fonctionner il accorder les deux types.
Après avoir saisi la formule dans la barre de formules, tu dois la valider par les touches Ctrl+Shift+Entrer.
Ce que je te donne, c'est des formules sans colonnes intermédiaires. Si tu as la possiblité de rajouter une colonne à ton tableau de la feuille "saisie", colle la fonction
=SOUS.TOTAL(3;A5), et tu fais un glisser déposer. vers le bas, mais cela un inconvénient, chaque ligne saisie, doit avoir le retour de cette info.
Ensuite tu remplaces les formules données par
Peux-tu s'il te plait me traduire les formules car je ne vois pas trop bien comment elles fonctionnent.J'ai réussi à appliquer la formule =SOMMEPROD (celle-ci fonctionne un peu comme sous.total) mais pour les autres, je ne sais pas à quoi elles correspondent et ou les mettres.
Par la même occasion peux-tu aussi me traduire la formule de ta 1ère réponse car elle me paraissait intéraissante.
Je te joins ton fichier modifié, avec les formules de mon premier et deuxième post.
Les formules que je t'avais indiqué sont à valider par les touches Ctrl+Shift+Entrer.
Pour être plus explicite, après avoir saisi dans la zone de la barre de formules, la dite formule, on appuie en gardant maintenu l'appui sur chaque touche. Après validation des {} entourent la formule dans la zone de la barre formule. Ces formules ont un calcul différent par rapport aux formules que tu connais. Ont dit qu'elles sont "matricielles".
Je vais essayer de t'expliquer leurs fonctionnements.
De manière générale quand l'on veut tester l'égalité de deux cellules, on écrit
dans une cellule la formule =Saisie!C5=B$3, et on fait un glisser déposer sur le reste de la plage. Et l'on obtient une suite de VRAI ou FAUX.
Dans la formule matricielle, c'est la même chose, on obtient des VRAI ou des FAUX, la différence, c'est qu'il n'y pas de représentation des valeurs, le résultat est stocké en mémoire. On appel l'ensemble du résultat une "matrice".
La matrice contiendra le résultat du comparateur de chaque valeur de la la plage Saisie!C$5:C$45 par rapport à la valeur de la cellule B3.
Excel ayant calculé le résultat de la matrice, passe au calcul de la matrice de l'autre partie.
- Que fait : SOUS.TOTAL(3;DECALER(Saisie!C$4;LIGNE($1:$41)😉)
Pour connaître si la ligne est masquée ou visible, dans une cellule on écrit la formule =SOUS.TOTAL(3;Saisie!C$4), et on la reporte sur les autres lignes de la base de données. On obtiendra comme résultat une suite de 1 ou de 0 (0 indiquant une ligne masquée).
Si l'on applique le même principe de la matrice de comparaison, en écrivant dans la fonction SOUS.TOTAL non pas une référence d'une cellule unique mais, d'une plage de cellules, allons nous obtenir une matrice identique ?
NON, le deuxième argument SOUS.TOTAL pouvant être une plage de cellules, le résultat retourné sera égal au nombre de lignes affichées. Ca ne sera pas une "matrice".
Pour obtenir cette matrice, il faut décomposer la plage de cellules en cellule unique, c'est le rôle de DECALER.
Je ne vais pas trop m'éloigner de la notion de matrice, je ne vais pas rentrer dans les détails de cette fonction.
Après avoir calculer ces deux matrices, que fait EXCEL ?
Par l'intermédiaire du symbole * il va combiner ces deux matrices.
M1n1 avec M2n1 ; M1n2 avec M2n2 ; M1n3 avec M2n3 et ainsi de suite sur toute la longueur de la matrice.
Quel sera le contenu de cette nouvelle Matrice ?
Il sera composé de 0 ou 1.
Le 1 correspondra à une ligne affichée et égal au critère B3.
Le 0 correspondra à une ligne masquée ayant le critère différent ou égal à B3.
Le résultat de cette matrice sera ensuite retourné à la fonction SOMME qui fera la totalisation.
Pourquoi utiliser les matricielles ?
Comme les caluls intermédiaires ne sont pas visibles, cela ne surcharge pas les feuilles de calcul.
Mais attention, les formules matricielles demandent pour les calculs, d'énorme de ressources machines. C'est pour cela que je te suggérais de mettre la fonction SOUS.TOTAL dans une cellule indépendante, cela évite de recalculer la matrice à chaque fois.
Salut JeanMarie et meilleurs voeux pour cette année 2009 ainsi qu'à tous ceux du forum.
Je n'ai pas tout compris de la formule mais j'ai réussi à l'adapter à mon fichier et ça fonctionne à merveille.(un grand merci à toi)
En fait, je n'ai pas compris pourquoi par moment tu prends la colonne G:G alors que le résultat se fait sur la colonne A:A et pourquoi la case A1(Est-ce pour avoir une référence vide?)
Voici la formule que j'utilise:=SI(C41="";"";SI(SOUS.TOTAL(3;Saisie!$N$5:$N$1995)>=LIGNE(A1);INDEX(Saisie!N:N;PETITE.VALEUR(SI(SOUS.TOTAL(3;DECALER(Saisie!N$4;LIGNE($1:$1997)😉)=1;LIGNE(Saisie!$N$5:$N$1995));LIGNE(A1));0);"")) accompagnée bien sûr de Ctrl+Maj+Entrer.
Dis-moi si il y a des chose qui te sembles incohérentes.
Encore merci pour les explications et pour le temps passé sur mon problème.
Pour l'instant Excel n'est pas encore 3D, quand l'on masque une cellule, c'est obligatoirement la ligne entière qui est masquée. Donc, avec la fonction SOUS.TOTAL peut importe la référence exacte de la colonne de la cellule que l'on pointe, seule la ligne est importante.
LIGNE(A1), retourne la valeur de la ligne de la référence indiquée, ici la valeur 1, en glissant vers le bas, la valeur sera incrémentée automatiquement, ce qui permettra de voir les données suivantes.
J'ai adapté la formule(voir messages précédents) dans un autre fichier mais avec des noms de sous-traitants.Cela me ressort la liste des ST filtrée🙂.Par contre j'ai plusieurs noms identiques.
Ce que je souhaiterai, c'est dans la colonne d'à coté, ressortir les noms filtrés mais sans doublon et me dire pour chaque nom, combien de fois ces noms étaient répétés dans la liste filtrée.(Je voudrai savoir combien de non-conformité il y a pour chaque sous-traitant selon le filtre de ma feuille saisie)
Après un gros élagage de mon fichier(difficile d'obtenir un fichier de 48.8 max) tu trouvera celui-ci en pièce jointe.
Dans la feuille tableaux, j'ai mis quelques commentaires.
Si ce n'est pas suffisant, référe toi au questions posées ci-dessus.
- 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
Assurez vous de marquer un message comme solution pour une meilleure transparence.