Fonction recherche et liaison entre feuilles
Bonjour à tous,
Je me tourne vers vous en désespoir de cause, je ne sais même pas si ce que je voudrais faire est possible.
J'ai un énorme tableur avec 2 feuilles (cf la pièce jointe pour un exemple simplifié), "perDM" et "perSEQ".
Dans "perSEQ", j'ai attribué un code unique à chaque ligne ("code1", "code2" etc) ainsi qu'une série d'autres valeurs dans d'autres colonnes. Disons que chaque ligne correspond à un paquet de marchandises. Parfois ces paquets contiennent un seul objet, parfois plusieurs, mais on a bien un paquet par ligne dans "perSEQ".
Dans "perDM", nous avons une ligne par objet. J'ai reproduit le code unique des paquets dans "perDM": il y a donc certains objets qui ont le même code unique puisqu'ils sont dans le même paquet.
Ce que je voudrais faire, c'est qu'Excel retrouve les doublons, donc pour chaque code attribué à un objet, qu'il retrouve la ligne dans "perSEQ" qui correspond à ce paquet, puis quand il a trouvé le même code, qu'il entre dans une autre cellule de "perDM" la valeur contenue sur la même ligne dans "perSEQ" mais pour la colonne "réponse" par exemple.
Donc quand 'perDM'!code1 = 'perSEQ'!code1 ; alors qu'il inscrive 'perSEQ'!réponse1 dans 'perDM'!hourra
(Désolé pour les noms fictifs, ce n'est pas tellement plus simple avec les termes originaux!)
J'ai essayé avec un combiné de SI.NB et RECHERCHEV, mais ça ne fonctionne plus dès qu'on a un décalage entre les lignes, dû au fait que plusieurs lignes dans perDM ont le même code (cf les objets qui appartiennent au même paquet).
J'espère que ce n'est pas trop abstrait, et que c'est possible. Toute aide est bienvenue, grand merci d'avance!
Bonjour et bienvenue sur le forum,
Essaie de placer cette formule en F2 dans l'onglet perDM
=INDEX(perSEQ!$A$2:$D$6;EQUIV(perDM!$E2;perSEQ!$A$2:$A$6;0);4)et tire la formule vers le bas.
Cordialement
ddetp88
Bonjour,
Merci pour vos réponses rapides! Je ne sais pas me servir de macros, mais j'ai essayé la formule suggérée par ddetp88 et ça marche très bien sur mon fichier d'exemple. En revanche je n'arrive pas à l'appliquer sur mon "vrai" tableur: j'ai essayé de remplacer les références de cellules par celles de mon tableur, ce qui donne ça:
=INDEX(perSEQ!$A$2:$H$4556;EQUIV(perDM!$AA2;perSEQ!$B$2:$B$4556;0);4) Mais quand je fais Entrée ça m'ouvre une boîte de dialogue "mettre à jour les valeurs de perSEQ", je dois sélectionner un tableur à actualiser je suppose, mais quand je sélectionne mon tableur actif, ça finit par faire un échec de la formule: "Erreur dûe à une valeur non disponible".
Vous y comprenez quelque chose ? Qu'est-ce que c'est que cette histoire de mettre à jour des valeurs ? Rien de tel n'est apparu pour le fichier exemple :/ je suis perplexe.
Je vous joins donc un extrait de mon vrai tableur, attention il y a beaucoup plus de colonnes ... Celles qui nous concernent sont: dans perDM, AA (le code) et AB (la réponse que je souhaiterais obtenir); et dans perSEQ, B (le code) et H (la valeur que j'aimerais transférer).
Un grand merci encore, je sens que je touche au but grâce à vous
OK je n'ai rien dit, j'ai regardé la syntaxe et j'ai trouvé le problème. MERCI beaucoup!