Extraire valeurs d'un tableau pour les reclasser ailleurs

Bonjour,

Je me retrouve face à un problème, pas très complexe je pense, mais que je n'arrive pas à résoudre car je n'ai pas encore la mentalité excel permettant de vite voir les solutions en couplant plusieurs fonctions ensemble. C'est pourquoi je me retourne vers vous aujourd'hui.

J'ai simplifié mon problème bien entendu, vous pouvez le voir dans le classeur ci-joint :

20liapo972.xlsx (9.70 Ko)

J'ai donc 2 paramètres en colonne et non plus un en ligne et un en colonne, car je ne m'occupe que d'une ligne pour remplir un tableau d'arrivé (je ne sais pas si je m'explique clairement). En tout cas, l'exemple ci-joint sera on ne peut plus clair !

Je pense qu'il faut utiliser quelque chose comme INDEX(EQUIV;EQUIV), mais avec une subtilité que je n'arrive pas à capter.

Merci d'avance

Bonjour,

vous voulez une formule ou on a le droit aux macros ?

Bonjour,

Proposition en PJ. Il y a des doublons dans la colonne A, donc les mêmes valeurs apparaissent plusieurs fois. Je les ai supprimés dans les tableaux de droite.

29liapo972.xlsx (11.44 Ko)

Merci de l'intérêt que vous portez à mon problème.

@Guitouille : Plutôt une formule je pense, je ne suis vraiment pas familier avec le VBA . Je pensais utiliser quelque chose qui se rapproche de INDEX(EQUIV;EQUIV) mais le problème est que je ne peux pas prendre deux paramètres en colonne (ici P1/P2/.. et le mois).

@Oyobrans : Merci beaucoup, votre solution est très efficace. Ceci étant, j'ai oublié de mentionner que je devais extraire les données d'un autre classeur, donc je pense que la fonction DECALER ne peux pas fonctionner entre 2 classeurs (corrigez moi si je me trompe).

De plus, j'ai beaucoup de mal à saisir le fonctionnement du deuxième DECALER avec le EQUIV.

J'espère que vous pourrez m'aider dans mon désespoir :p

Encore merci

Bonjour,

La fonction DECALER fonctionne avec un autre classeur.

DECALER($A$2;0;EQUIV(B$11;$B$1:$I$1;0) ;1;2)

Renvoie la plage des deux cellules se trouvant sous la mention P qui va bien, B2:C2 par exemple. On part de $A$2, on se décale de zéro ligne, et d'autant de colonnes que la position du P dans $B$1:$I$1 (EQUIV renvoie 1 pour P1, 3 pour P2, 5 pour P3). On arrive en B2 par exemple, et on étend la plage pour obtenir 1 ligne sur 2 colonnes.

EQUIV($A12;DECALER($A$2;0;EQUIV(B$11;$B$1:$I$1;0);1;2);0)

Renvoie la position du mois ($A12) dans les deux cellules déterminées plus haut. Renvoie 1, 2 ou une erreur si le mois n'est pas présent.

Au final, pour la formule placée en D16 :

On part de $A$2, on descend du nombre de lignes correspondant à la position de A dans A3:A6, on arrive en A3.

Janv-12 est en 1ère position sous la mention P3, on se déplace donc vers la droite d'une cellule, on arrive en B3.

P3 est à la place 5 dans B1:I1, on se déplace de 5 cellules vers la droite, on arrive donc en G3. Il faut enlever 1 pour rallier la bonne cellule, à savoir F3.

En espérant être clair.

Ooooookkkkk merci, je crois avoir compris le truc . Je reviens vers vous si je me retrouve coincé !!

Petite précision : Si la fonction DECALER fonctionne avec un autre classeur, ce dernier doit être ouvert pour qu'elle puisse servir...

Rechercher des sujets similaires à "extraire valeurs tableau reclasser ailleurs"