Rappatriment de données

  • Initiateur de la discussion Initiateur de la discussion R3ptor
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

R

R3ptor

Guest
Bonjour à tous,

Voila après plusieurs recherche sans succès je me tourne vers des personnes maitrisant ce sujet.

J'ai 2 Fichier Excel l'un contient une colonne allant de 1 à 3000 disons que la colonne s'appelle ID l'autre fichier est identique mais contient 3 Colonne ID (de 1 à 3000) - NAME - DESCRIPTION

Le principe serai que chaque ligne du fichier 2 arrive dans le fichier un devant chacun de ces ID Identique afin que le fichier finale Fasse pour exemple ID1 - ID1 - NAME DESCRIPTION

Le but peu vous paraitre bizarre mais j'ai plusieurs croisement de fichier à faire avec des troues partout dans les ID si quelqu'un à la solution.

En vous remerciant par avance
 
Re : Rappatriment de données

Bonsoir R3ptor et bienvenue,

Si tu n'en as pas encore eu l'occasion, n'hésite pas à jeter un oeil attentif à Lien supprimé
Décrire ton problème, c'est bien, mais alors, il faut que la description soit la plus complète et détaillée ... en tout cas si tu espères voir fleurir l'une ou l'autre proposition.
L'autre solution serait de joindre un fichier exemple (une trentaine de données non-confidentielles devraient suffire)

Sans ces infos, on ne peut que risquer une hypothèse ... avec 25% de chance de tomber pas trop loin. As-tu regardé du côté de la fonction RECHERCHEV?
 
Re : Rappatriment de données

Bonjour, oui je suis passer par la fonction recherche sans trouver, ne connaissant même pas le nom des fonction que je recherche ce n'est pas facile, j'ai mis le Fichier 1 le fichier 2 et le résultat que je souhaiterai obtenir.

Cordialement
 

Pièces jointes

Re : Rappatriment de données

Bonjour R3ptor et le forum,

Une solution dans le Fichier-1 joint.

Pour qu'elle fonctionne :

1- Certaines références sont à mettre en place dans le Visual Basic Editeur(Voir en tête de macro).
2- Les deux fichiers sont à placer dans le même répertoire selon le chemin installé dans la macro. Adaptation à faire si le chemin du fichier-2 est différent de celui du Fichier-1.

La commande "MISE A JOUR" active deux macros :

1- Extraction des données, extraction directe ADO sans ouverture du Fichier-2, dans la feuille "Feuil2" dans le Fichier-1.
2- Traitement des deux bases de données pour les comparer, les mettre en parallèle si identiques et ajouter une mise en forme.
 

Pièces jointes

Re : Rappatriment de données

Bonjour r3ptor,

Essayons en pas-à-pas:
Ouvre ton "Fichier1", puis (en passant par Fichier > Ouvrir) ouvre également ton "Fichier2". Il est important, à ce stade, de ne pas ouvrir deux "instances" du programme Excel.
Positionne-toi en B2 de ton Fichier1 et insère la fonction RECHERCHEV (attention au 'V' final!)
Cette fonction prend 4 arguments:
  1. valeur_cherchée est l'ID qui figure en A2 de Fichier1 (il suffit de cliquer sur cette cellule). La référence à A2 doit être mixte (colonne absolue, ligne relative) et apparaîtra donc sous la forme $A2
  2. table_matrice est le tableau en A2:C22 de ton Fichier2 (ici aussi, sélectionner la plage avec la souris) Cette fois la référence à la plage doit être absolue $A$2:$C$22. Excel le fait automatiquement, si la sélection est opérée sur un autre classeur. De même, le nom de ce fichier, ainsi que celui de la feuille concernée apparaissent dans la formule (quand le fichier sera enregistré, c'est même le chemin d'accès au second classeur qui sera mémorisé, créant une liaison entre tes deux fichiers.
  3. index_colonne sera le numéro de la colonne (dans la plage sélectionnée) qui contient l'info que tu souhaite afficher dans le résultat: 1 pour "ID", 2 pour "cdescription" et 3 pour "extendeddesc".
  4. valeur_proche devra contenir FAUX, si tu souhaites qu'Excel recherche la correspondance exacte entre les ID de ton Fichier1 et ceux de ton Fichier2
Consulte l'aide pour les autres cas de figure 🙄

Ta formule devrait ressembler à
Code:
=RECHERCHEV($A2;'[Fichier-2.xlsx]Feuil1'!$A$2:$C$22;1;FAUX)
Tu peux recopier vers le bas, mais pas vers la droite. Pour gagner un peu de temps (et ne pas être obligé de recommencer le travail pour obtenir le contenu des colonnes 2, puis 3), tu peux modifier la formule, en remplaçant l'index de colonne en troisième argument comme ci-dessous:
Code:
=RECHERCHEV($A2;'[Fichier-2.xlsx]Feuil1'!$A$2:$C$22;COLONNES($A:A);FAUX)
Cette formule-ci peut être copiée vers le bas et à droite

Des #N/A vont apparaître pour les ID non-trouvés. Nous verrons par la suite comment les éviter, éventuellement. Commençons déjà avec ce qui précède!

Edit: Hi Bernard, nice to see you!
 
Re : Rappatriment de données

Bonjour,

Un grand merci pour cette explication qui me parais beaucoup plus clair à présent, et en plus cela fonctionne j'ai recherché pour supprimé les N/A j'ai trouvé cette formule sur le forum : =SI(ESTNA(RECHERCHEV

Cela ne fonctionne pas encore chez moi mais je vais persisté 🙂

Un grand Merci
 
Re : Rappatriment de données

Bonsoir,

mais je vais persister
... Tu as mille fois raison: c'est bien là qu'est la solution 🙂

Pour que le message d'erreur soit remplacé par rien (ou ce qui y ressemble):
=SI(ESTNA(Ta_RechercheV);"";Ta_rechercheV)
Tu peux remplacer les guillemets vides par un zéro ou tout texte que tu voudrais voir apparaître, quand l'ID n'a pas été trouvé.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

L
Réponses
10
Affichages
2 K
Retour