Renvoi d'une valeur de tête de colonne

Bonjour à tous,

Avant toutes choses, je tiens a préciser que le titre du sujet risque d'être amené a changer des que j'aurais mieux ciblé le vocabulaire.

En effet, l'objet de ma demande est très précis dans mon esprit, mais je n'arrive pas à trouver de fonction, méthode pour le réaliser.

Je cherche dans un classeur partagé, donc sans macro, a faire remonter la valeur d'une tête de colonne correspondant a une "tache" (ligne 4, fixe) en fonction de la valeur d'une case en ligne N correspondant a un profil. Les valeur sont de 3 types, "Vide", "I" pour indispensable, "S" pour souhaitable.

Exemple avec le profil 5 :

1) Je saisi Profil 5 dans la case C15

2) J'extrais les taches dans les cases "Indispensable" ou "Souhaitable" en fonction de ce qui es saisi dans la matrice A2:J12 de l'exemple.

Cela donne donc pour le profil 5 :

Tache indispensable : Tache 4 et Tache 5

Tache souhaitable : Tache 7 et Tache 8

Pour donner une idée de grandeur, la matrice d'origine fais 170 colonnes, et 227 lignes. Donc je recherche une fonction adapté et souhaite éviter une usine a gaz du type : =SI(B7=S;B2;SI(B8=7;B3; ETC....) J'ai plutot dans l'esprit un équivalent à :

De 1 à N, SI("Colonne"n=S;"Colonne"2 & " ")

J'ai bien conscience de ne pas être totalement clair, mais vos questions m'aiderons certainement a éclaircir.

Je vous remercie tous par avance.

Cordialement.

Ch@p'

bonjour

c'est faisable ; mais pour 170colonnes et 227 lignes cela risque de ramer ......

pour avoir une reponse ;tu dois imperativement faire une piece jointe exploitable ; je te conseille de faire un cop/coller d'un tronçon de ce que tu as ; de modifier les valeurs (anonymisation) .....

tu comprendras ;qu'il est impossible de mettre au point avec une photo ............................

cordialement

tulipe_4 a écrit :

c'est faisable ; mais pour 170colonnes et 227 lignes cela risque de ramer ......

Je précise, j'ai 170 colonnes et 227 lignes, mais je n’exécute la fonction que sur une ligne a la fois (un profil)

tulipe_4 a écrit :

pour avoir une reponse ;tu dois imperativement faire une piece jointe exploitable ; je te conseille de faire un cop/coller d'un tronçon de ce que tu as ; de modifier les valeurs (anonymisation) .....

tu comprendras ;qu'il est impossible de mettre au point avec une photo ............................

cordialement

La photo exprime le cahier des charges, maintenant que j'ai trouvé comment uploader des fichier excel c'est bien mieux...

19exemple.xlsx (9.26 Ko)

Merci pour ce retour, si il faut plus d'éléments n'hésite pas.

Cordialement.

Ch@p'

bonjour

voila un essai ; on pourra toujours ameliorer

37chip-chop.xlsx (9.74 Ko)

cordialement

Ah, oui, en effet on s'approche de ce que je recherche.....

J'ai trouvé le gestionnaire de noms...(connaissais pas)

=DECALER(Feuil1!$B$3:$J$3;EQUIV(Feuil1!$C$15;Feuil1!$A$3:$A$12;0)-1;)

es ce qu'on peux détailler la formule utilisée ?

=SIERREUR(INDEX($B$2:$J$2;;PETITE.VALEUR(SI(index="i";COLONNE($B:$J)-1;"");LIGNE($A1)));"")

Idem., je n'arrive pas a bien comprendre le fonctionnement des formules, donc je ne peux pas les transposer sur ma bigmatrice

En tous cas, merci, ça m'avance.

Cordialement.

Ch@p'

re

index est le nom que j'ai donné a la fonction DECALER( ...... tu la trouveras en allant dans Formules (a coté de acceuil) >>>gestionnaire de nom; ou alors tu fais Ctrl et F3 en meme temps

la fonction permet de ne cibler que la ligne concernée par le choix du profil ; j'aurais pu integrer ce DECALER dans la fonction.....,mais par soucis de lisibilité........................

la fonction SIERREUR(........... est maricielle il faut la valider en faisant Ctrl MAJ Entrée les 3 touches en meme temps

il faudra bien faire attention a l'orthographe de la saisie du profil ;sinon bug ; l'ideal serait de n'avoir qu'a choisir dans une liste de choix intuitive et automatisée ;faut voir si le fichier ne s'en trouve considerablement alourdi

cordialement

Ok, vu.

J'ai transposé les formules mail le résultat escompté n'est pas la

A quoi correspond la référence de cellule dans la fonction Ligne ?

Je continu a plancher dessus...

Cordialement.

Ch@p'

re

LIGNE(a1) cela renvoie un n° 1 pour ligne1 ;2pour ligne 2.........

c'est pour renseigner le K de petite valeur (un coef....ou le rang....)

exemple :

petite valeur ( une plage; ligne (a1)) donnera la premiere petite valeur donc en ne mettant pas de $ pour ne pas figer le 1 ,lorsque quand tu tires vers le bas (incrementation) ; tu auras: = petitevaleur( une plage; LIGNE(a2)) qui sera la deuxieme petite valeur

etant donné que la matricielle crache plusieurs n°de colonne (nessecaire pour renseigner INDEX (la fonction; pas le nom) ;ces derniers sont triés par PETITE.VALEUR

la fonction s'appelle LIGNE mais il faut comprendre N° de ligne ; a noter que c'est la meme chose avec COLONNE

oK??

cordialement

Je transpose mais ça ne fonctionne pas

On vas voir si j'ai compris :

=SIERREUR(INDEX(Profils!$BN$4:$FI$4;;PETITE.VALEUR(SI(index="i";COLONNE($BN:$FI)-1;"");LIGNE($A1)));"")

Profils!$BN$4:$FI$4 correspond a la tête de colonne que je souhaite ressortir

$BN:$FI correspond aux colonnes ou sont les valeurs (de BN à FI)

=DECALER(Profils!$BN$6:$FI$6;EQUIV(Synthèse!$B$3;Profils!$B$6:$C$227;0)-1;)

Profils!$BN$6:$FI$6 correspond a la première ligne du premier profil

Synthèse!$B$3 correspond a la cellule ou j'ai la saisie du profil

Profils!$B$6:$C$227 correspond a la colonne ou les profils sont saisi (cellule fusionné sur les colonnes B et C)

et ça n'affiche rien

Les cases sont au format texte sur ma matrice, es-ce que cela pourrais jouer ?

En avançant, je me rend compte qu'il y a des { } dans ta formule que je n'arrive pas a utiliser, a quoi servent t'elles ?

Ok, je répond au fur et a mesure, c'est pour des formules matricielles. Mais comment les mettre ? le ctrl maj entré ne marche pas (ou pas encore)

J'avance, j'arrive a valider la matricielle sur un classeur mais pas le bigmatrice. Viens du partage de fichier peut-être...

Je confirme, pas moyen de valider la matricielle en partage.....

Bon, j'avance, j'avance, je valide les {} mais cela ne fonctionne toujours pas. Es-ce que la fonction "index" est en matricielle aussi ?

Cordialement.

Ch@p'

re

1) comme ton tablo commence a la colonne BN qui est la 66eme colonne ; il faut que tu remplaces le -1 par -65 pourquoi ?

parce que si le le premier I est dans la premiere colonne (la 66) il faut indiquer a INDEX que c'est dans la premiere : donc 66eme-65

2) la formule DECALER ;tu l'as bien saisi pour" index" le nom qui est dans gestionnaire ??

3) le plus hard

axiomme n°1 : il est completement inutile de saisir les { } aux extremités d'une fonction matricielle ; car cela ne marche pas

DONC pour valider la dite fonction ;il faut :

1) mettre le | de la barre de fonction a la suite de la derniere ) cequi donne .....))|

2) echauffer 3 doigts ;prendre ses repreres

3) appuyer avec le premier sur Ctrl et... dans un meme temps

4) appuyer sur Maj (shift pour les anciens) et... toujours dans un meme temps

5) appuyer sur la touche Entrée

normalement les { } sont mises

cordialement

Ok, pour valider les fonctions matricielles j'ai trouvé, le partage de fichier bloque, en le désactivant ça marche plutôt bien.

Pour la barre | je n'en vois pas dans les formules que tu as utilisé. ou dois-je regarder ?

Concernant l'index, normalement c'est mis au bon endroit. Depuis mon dernier message, j'arrive a afficher les I, mais les S ne passent pas....

C'était bien le 65 qui faisait planter la machine. Pour les S, pas encore trouvé...

Le 65 c'est également dans la fonction "index" ?

J'affiche bien des valeur, mais pas les bonnes. Je constate également que le fait de supprimer des lignes autours de cellules comprenant la formule joue sur le contenu des cellules...Étrange....

Le 65 ne semble pas bon non plus, j'affiche les valeur correcte avec la valeur 44 semble t'il

Ca fonctionne avec le 44 !! mais alors pourquoi c'est un mystère...

Une idée ?

Cordialement.

Ch@p'

re

on va faire simple

mets en pj ton vrai fichier mais fais le en messagerie privée (tu cliques sur tulipe 4)

mets simplement une 10aine de lignes ;tu n'auras plus qu'a remplacer par 227

cordialement

Bonjour,

Le fichier que j'utilise étant sensible, je ne peux malheureusement pas le transmettre.

J'ai regardé a nouveau, c'est dans le décalage des valeurs, quand je supprime des colonnes la ou est placé la formule, les données issues se décales vers le haut....

Cordialement.

Ch@p'

Re,

Même sujet avec l'onglet d'abonnements. Le problème c'est que je n'ai pas tout pigé donc je n'arrive pas a le refaire

Je vais chercher de mon coté, mais voici l'UP du fichier.

Cordialement.

Ch@p'

13abonnements.xlsx (94.12 Ko)

J'avance, j'avance....

C'est quoi ce : COLONNE($AS:$EN) ?? je pense que c'est lui le fautif dans la formule

Cordialement.

Ch@p'

Rechercher des sujets similaires à "renvoi valeur tete colonne"