RechercheV multi-critères avec 2 fichiers

Bonjour,

Voila, je reprends un peu Excel et travaille sous office 2003 (et oui, obligation :/)

J'ai deux fichier

  • le 1er fichier "fichier 1 complété par différentes personnes" est un fichier qui est envoyé au départ à beaucoup de personnes (par mail) qui nous le retourne une fois qu'ils ont complété les cellules (collones E / F /G du fichier) qui correspondent à la ligne de leur entité. Donc bien entendu, chaque entité rempli leur ligne et nous renvoi ce fichier
  • le 2nd fichier "fichier 2 à compléter avec le 1" est un fichier unique que je dois moi même remplir avec les informations qu'ils m'auront communiqué.

Ma question est : comment puis-je récupérer les informations des colonnes E / F / G ( réponses normées T. / Justification T. / Interlocuteur) qui correspondent à l'entité, le RG siège et l'article correspondant ? (collone A/B/C/D remplies et identiques)

J'aurai souhaité faire une rechercheV mais cela fonctionne avec un seul critère.

J'aurai vraiment besoin que l'on m'aide s'il vous plait, parce que là, je bloque.

VBA, je ne connais pas, j'ai déjà codé un peu mais ne suis pas expert. Cela ne me dérangerai pas de m'y mettre et perfectionner à Excel. Autre chose, ce fichier est un fichier mensuel. Tout les mois, je dois faire cela 2 à 3 fois / mois.

Merci par avance pour vos commentaires, complément du fichier etc...

PS : Le fichier peut atteindre des milliers de ligne (6000 par exemple). Il y a aussi d'autres colonnes dans le fichier qui me permet de filtrer sur le code entité par exemple etc... Mais il y a des lignes entre les différents codes entités une fois le trie fait, ce qui m'empêche de copier/coller tout simple, car ça me copier les lignes cachées (fichier1) et ça va remplacer les lignes cachées dans mon fichier 2.

Je travaille encore dessus, s'il vous plait de l'aide aux ingénieurs excel à qui ça se trouve, ça prendra juste 2 petites minutes...

En réfléchissant, je me dis que je dois surement devoir utiliser la formule "INDEX" mais en tapant ça dans la cellule L2, j'y arrive pas, je pense ne pas être trop loin de la vérité... (voici mon code que j'ai tenté dans ma cellule que je souhaite remplir)

INDEX('[Fichier 1 complété par différentes personnes.xls]41 - Balance brute avec montant'!$A$2:$G$41;MAX(SI((A2='[Fichier 1 complété par différentes personnes.xls]41 - Balance brute avec montant'!Code_entité)*(C2='Fichier 1 complété par différentes personnes.xls'!Code_Article8));LIGNE('Fichier 1 complété par différentes personnes.xls'!Réponse normée T.);0)))

Bonjour, Personne n'aurait de réponse ou de solution à mon problème ?

Bonjour,

je ne connais pas trop la formule, mais avec =SOMMEPROD je pense que tu peux arriver à ta solution...

Sommeprod... ? Je l'ai déjà utilisé, et je ne vois pas comment elle pourrait répondre à me demande =/

Je pense être sur la bonne voie, mais je bloque.

Je parlais de sommeprod car à la lecture de ta question, ça me faisait penser à une autre question posée sur ce forum où la personne cherchais a extraire (ou à compter? je ne sais plus) une donnée selon 2 critères (en l'occurance le jour de la semaine et une certaine valeur)...

Maintenant, quand je lis "Le fichier peut atteindre des milliers de ligne (6000 par exemple). ", je serais tenté de dire que via une macro, c'est peut être le mieux... mais là, je ne peux pas plus t'aider...

Oui, je pense aussi qu'en VBA, ce sera possible en Macro...

C'est aussi pour cela que je demande un peu d'aide ^^

Merci

Bonjour surf_max,

Voici une solution avec VBA.

La macro "Completer" réalise la copie des données du classeur source vers le classeur cible.

Tu peux lancer cette macro avec le raccourci ctrl + q

Les 2 classeurs doivent être ouverts.

A+

Merci beaucoup Frangy.

J'ai test avec les deux fichiers ouverts, mais ça ne rempli pas...

Je vais essayer de déchiffrer le code aussi, comme je ne connais pas trop, ça me permettra de m'y mettre et aussi de l'appliquer aux fichiers plus complexe... et changer certaines "variables" si je peux dire ça comme ça, lorsqu'on m'enverra les fichiers.

Si tu sais pourquoi ça ne remplit lorsque j’exécute la macro... (sécurité déverrouillée).

Merci encore.

PS : Merci aussi pour les quelques commentaires dans le code. Si tu en rajoutes un peu, j'en serai aussi bien ravi

Le code a été testé avec les 2 fichiers que tu as transmis.

La première chose à vérifier, c'est la concordance entre ces fichiers et ceux sur lesquels tu effectue ton test : nom des classeurs, nom des feuilles, position des données, etc.

Ensuite, pour visualiser ce que réalise le code, tu peux exécuter le programme en pas à pas. Pour cela, tu cliques sur une ligne quelconque du code puis tu appuies sur la touche F8. La ligne surlignée en jaune t'indique l'instruction qui va être réalisée. Avec l'appui successif de F8, tu vas dérouler le programme. Si une erreur apparait, note-la.

Tu peut également afficher la fenêtre Variables locales afin de visualiser l'état et la valeur des variables.

Si tu as des explications à demander sur le code, dis-moi précisément ce que tu ne comprends pas. Ne connaissant pas ton niveau en programmation VBA, je ne sais pas où positionner le curseur

A+

Bonjour Frangy,

Je suis en train de chercher un code me permettant de remplir un fichier en se basant d'un autre fichier source. Mais les cellules que je cherche à remplir en auto sont en fonction d'un N° de commande par rapport au fichier source. Crois-tu que c'est possible?

En te remerciant d'avance pour ta possible aide.

Max

Bonjour Max6546,

Il est recommandé d’éviter de se raccrocher sur la discussion d’une autre personne. Il est préférable que tu crée un nouveau sujet.

Pour te répondre quand même, je ne pense pas que ton projet pose de gros problèmes.

Il faudra que tu joignes un exemple de tes 2 classeurs afin de présenter les données sources, le résultat attendu et accompagné des explications nécessaires.

A+

Frangy,

Tout d'abord, je tiens vraiment à te remercier car en effet, cela fonctionne avec les deux fichiers de base.

Autrement, je m'excuse du retard de ma réponse. Je suis actuellement en alternance et donc contraint de faire beaucoup de choses coté cours et coté entreprise.

Pour te répondre, mon niveau en VBA est vraiment basique. J'ai déja codé en procédurale sur un autre code (PHP) mais VBA non, très très peu.

Je vais maintenant adapter ton code pour mes fichiers qui porte des noms aléatoires... Pour cela, je pense que je dois créer des variables "globale" je pense de sorte à renseigner le nom du fichier une fois...

Autrement, si j'ai des questions sur le code ou comment je pourrais l'adapter et le faire évoluer

Mon idée : parcourir un dossier windows ou se trouveront tout ces fichiers identique mais qui n'auront pas les même lignes remplies (dont les feuilles seront verrouiller pour effectuer la même opération (ton code) sur chaque fichier excel de ce dossier => est-ce possible ? )

Par avance, Merci =)

p

Merci, j'ai réussi à adapter le code... avec du mal, mais réussi.

Cependant, je n'ai pas compris toute les fonctions.

Y aurait-il un glossaire de ce types de fonctions utilisées ?

Merci encore

Bonjour surf_max,

Désolé pour ce retard de réponse mais je suis resté absent quelques jours.

Pour les renseignements relatifs aux méthodes et propriétés, l'aide VBA est souvent suffisante.

Si tu as des difficultés de compréhension sur un sujet particulier, n'hésite pas à nous mettre à contribution. Tu trouveras toujours un intervenant du forum prêt à te répondre... moi y compris bien entendu

A+

D'accord,

Merci beaucoup Frangy.

J'aurai besoin de faire évoluer le projet.

Là nous avons travaillé qu'avec 2 fichiers :

  • Fichier cible qui je pense portera toujours le nom de : "Balance CT10-CT00 Conso 'mois'-v2.xls " => c'est dans ce fichier dailleurs que se trouve le code
    Fichier source qui peut porter des noms différents puisque ce sont les utilisateurs qui le nomme.

Hors, je reçois ensuite les réponses de beaucoup d'utilisateurs. Je place donc l'ensemble des fichiers (avec des noms différents naturellement) dans le même dossier.

Je souhaiterai coder pour que lorsque je lance la procédure "compléter" il puisse ouvrir chaque fichier, copier/coller dans mon fichier cible, fermer ce fichier et ouvrir celui d'après.

Bien entendu, avant de faire cela, il faut que mon fichier de base que j'envoi en début de mois pour que les utilisateurs ne puissent supprimer aucune colonnes, aucunes lignes et qui ne peuvent remplir que les colonnes suivantes

Y, Z, AA => Ces trois colonnes sont copier/coller après réception du 1er fichier

AB => Celle-ci en est une autre qui est copier/coller après réception du 2nd fichier

J'effectue mes recherches et commence à coder, en cas de problème, je reviens vers vous.

Merci encore pour tes réponses Frangy. J'adore le partage de connaissances comme cela =)

Projet bien avancé, j'ai réussi à faire ce que je souhaitais.

Merci pour l'aide =)

Rechercher des sujets similaires à "recherchev multi criteres fichiers"