Rechercher dans un autre fichier et copier cellule référence

Bonjour à tous,

J'ai à ma disposition deux fichiers excel différents.

Dans le premier, j'ai une tableau classique avec une liste de clients + nom, adresse, n° de client (colonne K), ...

Dans mon second fichier, j'ai une feuille par client. Dans chaque feuille, je trouve toujours en A2 le n° de client et en O59 un chiffre de vente.

Ce que je souhaite faire, c'est lancer à partir de mon premier fichier, une recherche sur le n° de client au travers de mes différentes feuilles. Si le client existe, alors il doit me copier la case O59 dans mon premier fichier (bien sûr à copier sur la même ligne que le client...ici en colonne AI du premier fichier).

Je ne sais pas si c'est suffisement clair et si il est possible de lancer une formule? ou une macro pour m'aider à faire cela...

Votre aide est la bienvenue...

Davance merci,

Bonjour tetsunochin

Comme ça, sans fichier exemple c'est difficile à dire et encore plus à résoudre...

Cependant lorsque tu dis...

tetsunochin a écrit :

Dans mon second fichier, j'ai une feuille par client. Dans chaque feuille, je trouve toujours en A2

je pense que lorsque tu auras plus de clients tu auras beaucoup d'onglet... à mon avis déjà au delà d'une vingtaine de clients il sera pénible, fastidieux, long de cliquer sur le bon onglet...

Il me semble donc, que l'approche n'est pas bonne. J'explique : il serait sans doute judicieux de ne faire que 1 feuille "CLIENT" et d'y appliquer un filtre pour filtrer (évidement) le client souhaité... cela permet en plus d'avoir une fiche identique/formatée pour chaque client et la macro "de recherche" devient possible !

Bonjour Andréa,

Merci pour ta réponse. Je joins un exemple pour que ce soit plus clair...les fichiers sont relativement vide mais le principe est là.

Le premier fichier contient la table avec en colonne K, les N° de client. Dans la colonne AI j'aimerais donc récupérer les ventes présentées dans le second fichier.

Dans le second fichier, un onglet par centre et dans la case O59 la données de ventes que je dois retranscrire dans mon premier fichier. La seule donnée commune entre les deux fichiers est le numéro de client qui se trouve toujours en case A2 de chaque onglet client.

En terme de construction de fichier, je te rejoins à 100%, il est plus facile d'avoir toutes les données dans 1 seul fichier puis de filtrer. Le fait est que ce sont des rapports qui sortent de programme différent avec des formats différents et je n'ai pas de marge de manoeuvre pour modifier leur structure.

Des idées?

16second-fichier.xlsx (12.50 Ko)

(re)

Désolé mais je ne comprends pas

tetsunochin a écrit :

En terme de construction de fichier, je te rejoins à 100%, il est plus facile d'avoir toutes les données dans 1 seul fichier puis de filtrer. Le fait est que ce sont des rapports qui sortent de programme différent avec des formats différents et je n'ai pas de marge de manoeuvre pour modifier leur structure.

en tout cas d'après "Second fichier" tous les onglets sont identiques (en structure en tout cas) ! ou alors il ne s'agit que d'un exemple, et dans ce cas je n'ai toujours pas les éléments suffisant pour répondre objectivement à ton problème !

(re)

ça y est j'ai compris...

Un onglet est créé dans "Seconde Fichier" à chaque nouveau client... et tu "écris" toi-même la formule en O59... Est-ce cela ?

pas toujours facile d'expliquer et sorry si ce n'est pas clair.

Tu as raison, dans le second fichier, la structure est identique pour chaque client. Nous générons un fichier excel qui contient tous nos clients avec un onglet par client et dans chaque onglet, toutes les informations de ventes. J'ai toujours la valeur d'intérêt en O59. La seule différence c'est donc sa localisation d'un onglet à un autre.

Est-ce plus clair?


je ne sais pas si ça aide mais j'imagine la formule suivante:

=IF(l'undesA2dusecondfichier=K2;O59del'ongletouletestlogiqueestvérifié;"")

(re)

tetsunochin a écrit :

Tu as raison, dans le second fichier, la structure est identique pour chaque client

il me semblait effectivement
tetsunochin a écrit :

Nous générons un fichier excel qui contient tous nos clients avec un onglet par client et dans chaque onglet, toutes les informations de ventes

ok ! mais autant poser la question tout de suite combien de clients actuellement (donc combien d'onglets) et dans le futur... je veux dire par là que le traitement risque d'être long, très long, de plus en plus long au fur et à mesure de l'augmentation du nombre de clients...

Bref je te concocte une solution" de "fortune" dans l'immédiat mais je persiste à dire

je pense que lorsque tu auras plus de clients tu auras beaucoup d'onglet... à mon avis déjà au delà d'une vingtaine de clients il sera pénible, fastidieux, long de cliquer sur le bon onglet...

on a déjà des fichiers avec 110 onglets...c'est pourquoi aller chercher manuellement la valeur O59 sur chaque onglet est un peu pénible...

(re)

tetsunochin a écrit :

on a déjà des fichiers avec 110 onglets..

ah oui !!! quand même

effectivement ça va "mouliner" pendant un moment... mais toujours plus rapide qu'à

tetsunochin a écrit :

aller chercher manuellement la valeur O59 sur chaque onglet

c'est certain

encore un peu de temps et je reviens...

(re)

Voici un essai... à tester !!!

Super! Déjà un tout grand merci. Sur le fichier test ça marche nickel!

Sur mon fichier de production pas contre j'ai le message d'erreur suivant:

Run-time error '1004':

Application-defined or object-defined error

Si je fais debug, il me pointe la ligne de code suivante:

If xlsWsRecap.Cells(ligDeb, 1) = "" Then

Des idées de ce qui peut bloquer?

Bonjour tetsunochin

tetsunochin a écrit :

Super! Déjà un tout grand merci. Sur le fichier test ça marche nickel!

Sur le fichier "test" ça marche toujours !

Le mieux serait que je puisse tester "en vrai" avec le

tetsunochin a écrit :

fichier de production

que tu utilises (en MP si trop difficile à anomiser)

j'ai fait quelques test de mon côté et en fait j'ai le problème dès que je dépasse 3 onglet dans mon second fichier...si ça peut aider...

oublie ce que j'ai dit!

(re)

tetsunochin a écrit :

j'ai fait quelques test de mon côté et en fait j'ai le problème dès que je dépasse 3 onglet dans mon second fichier...si ça peut aider...oublie ce que j'ai dit!

donc ça fonctionne ?

(re)

Il me vient une idée... ne serait-ce pas parce que le client n'existe pas dans la "récap" (Premier Fichier) ? dans ce cas il fort possible de prévoir la création au fur et à mesure lorsque le cas se présente !

voici avec mes fichiers...mais j'ai du réduire le nbe de client car fichier trop lourd pour être déposer sur le forum

(re)

Désolé je n'arrive pas à reproduire l'erreur !

Peux-tu lorsque ça plante, en passant la souris sur la ligne jaune (celle qui bug) quelle est la valeur de "ligDeb" ? ou mieux envoyer les "vrai" fichier "client" par cjoint, ou en MP (si tu préfères)

Ce qui est étonnant c'est qu'avec les derniers fichiers que j'ai envoyés...je reproduit l'erreur décrite ci-dessus...

La valeur de ligdeb est 1048577

Est-ce que c'est parce que je suis en excel 2010 EN??

Bonjour tetsunochin

Je viens de comprendre un truc que je n'avais pas compris... bizarre comme formulation mais pourtant c'est bien ça !

j'explique... je comparais les noms d'onglets (du 2nd fichier) qui sont différents des noms figurant en A2, cependant cela me fait te poser une nouvelle question...

Est-ce normal que la colonne K comporte des lignes vides dans le 1er fichier ? parce que cela va compliquer un peu la recherche...

Hello Andrea,

Merci encore de t'intéresser à ma requête...!

  • Oui le nom des onglets est parfois différent du nom repris en A2 (pourquoi faire simple quand on peut faire compliqué)
  • Je te confirme qu'en colonne K du premier fichier, certaines cellules sont vides...

Tu as pu trouver pourquoi j'avais une erreur que tu ne reproduis pas chez toi? c'est tout de même étrange non?

(re)

Oui pardon j'ai trouvé, ta version

tetsunochin a écrit :

Est-ce que c'est parce que je suis en excel 2010 EN??

n'a rien à voir la dedans... mon test n'était pas correct...

Je regarde à corriger en fonction de ces nouveaux éléments

tetsunochin a écrit :

- Oui le nom des onglets est parfois différent du nom repris en A2 (pourquoi faire simple quand on peut faire compliqué)- Je te confirme qu'en colonne K du premier fichier, certaines cellules sont vides...

(re)

Voilà...

J'ai corrigé, en adoptant d'ailleurs une toute autre méthode...

Cette fois je crois qu'il ne devrais pas y avoir de bug. Par contre avec les 5 établissements de l'exemple 12 sec. ...

bon courage pour le test en fichier réel...

PS/ pour les besoins du test : SI l'onglet n'existe pas j'écris ABS afin de vérifier que toutes les lignes du 1er fichier sons parcourues ! nous verrons à supprimer cette mention si tu confirmes que tout c'est bien passé !


en fait je vais te mettre le fichier... pour tester ce sera plus pratique !

j'ai encore cliqué trop vite...

Rechercher des sujets similaires à "rechercher fichier copier reference"