Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Mise à jour d'un tableau Cible selon une condition multiple

  • Initiateur de la discussion Initiateur de la discussion KIM
  • 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 !

KIM

XLDnaute Accro
Bonjour le forum, Bonjour les ami(e)s,
J'ai 2 fichiers dont les colonnes A à K sont identiques. Un fichier Source : SOURCE19A.xls et un fichier Cible : CAA010-01-B-CIBL.xls.

D'habitude j'utilise la macro (merci le forum) ci-jointe (voir fichier SOURCE19A.xls) pour compléter un tableau cible à partir d'un tableau source selon une donnée commune et unique qui se trouve sur une seule colonne.
Or dans les fichiers ci-joints, je dois concaténer 3 colonnes C, D et E pour trouver une donnée commune et unique entre ces fichiers. Comment modifier cette macro pour que la recherche se fasse sur les 3 colonnes C, D, E pour retrouver la bonne ligne à recopier. Voir fichiers ci-joints.

Merci de votre aide
KIM
 

Pièces jointes

Re : Mise à jour d'un tableau Cible selon une condition multiple

La macro fonctionne sur une recherche des valeurs en colonne C (source et cible),

Tu pourrais insèrer une nouvelle colonne C dans les 2 fichiers
Mettre dedans la concaténation =D&E&F (ie C D E décalés d'une colonne)
Décaler les codes VBA de copy/paste d'une colonne : les 7 deviennent 8, et les 11 deviennent 12.
 
Re : Mise à jour d'un tableau Cible selon une condition multiple

Bonjour bond et le forum,
Merci pour la réponse. J'ai un nombre important de couples de fichiers Source-Cible à mettre à jour. Je souhaite mettre cette nouvelle macro dans mon fichier de macros personalisés et la lancer pour chaque couple de fichiers ouverts.
Je suis bloqué. Merci de votre aide, cela m'évitera de faire du copier-coller.
KIM
 
Re : Mise à jour d'un tableau Cible selon une condition multiple

Dans la macro, le couple de fichiers semblent être en réalité un couple d'Onglet dans un même fichier. C'est la macro qu'a raison ?
Dans tous les fichiers dont tu parles le noms des onglets est-il toujours CAA010-01... et DRG ?
 
Re : Mise à jour d'un tableau Cible selon une condition multiple

Re, bond et le forum,
1- Dans la macro incluse, le couple ShSource et ShCible est un couple d'onglets. Il faut les transformer en couple de fichiers avec ShSource = Workbooks.Open("SOURCE19.xls").activesheets
ShCible = Workbooks.Open("CAA010-01-B-CIBL.xls").activesheets

2- Le nom de l'onglet :
- du fichier Source est toujours le même
- du fichier cible : c'est le nom du fichier cible sans l'extension xls
Merci d'avance
KIM
 
Dernière édition:
Re : Mise à jour d'un tableau Cible selon une condition multiple

Ci dessous le code retourné par l'enregistrement auto + qqs adaptations.
A faire tourner sur fichier et onglet actif

Code:
    Columns("C:C").Select 'insertion colonne en C
    Selection.Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
    Range("D1").Select
    Selection.End(xlDown).Select
    Selection.Offset(0, -1).Select
'    Range("C10").Select
    ActiveCell.FormulaR1C1 = "Clef" 'Clef de recherche
    Range("C11").Select
    ActiveCell.FormulaR1C1 = "=RC[1]&RC[2]&RC[3]" ' Formule de concaténation
    Selection.Copy
    Range("D11").Select
    Selection.End(xlDown).Select 'Copie de la formule vers le bas
    'Range("C58").Select
    Selection.Offset(0, -1).Select
    Range(Selection, Selection.End(xlUp)).Select
    ActiveSheet.Paste
    Application.CutCopyMode = False
    Range("A1").Select
 
- 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

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…