Cherche et remplace valeur

nakadon

XLDnaute Occasionnel
Bonjour,
Pourriez-vous m'aider svp. Je souhaite avoir une macro qui recherche puis remplace les valeurs dans la colonne "référence" du fichier2 par leur "Libellé" qui existe dans le fichier1 (grâce un bouton macro à placer dans la feuil1 du fichier1). Il s'agit de comparer les valeurs entre le fichier1 et le fichier2 ci-dessous. Si la valeur dans la colonne "référence" du fichier2 existe dans la colonne "code" du fichier1, elle est remplacée par la valeur "libellé" correspondante du fichier1, sinon ne rien faire.
D'avance merci pour votre aide.
 

Pièces jointes

  • Fichier1.xls
    13.5 KB · Affichages: 21
  • Fichier2.xls
    13.5 KB · Affichages: 15
  • Fichier1.xls
    13.5 KB · Affichages: 20
  • Fichier2.xls
    13.5 KB · Affichages: 26
  • Fichier1.xls
    13.5 KB · Affichages: 17
  • Fichier2.xls
    13.5 KB · Affichages: 20

nakadon

XLDnaute Occasionnel
Re : Cherche et remplace valeur

Merci PierreJean. L'idéal serait de supprimer les valeurs existantes dans la colonne A du fichier2 et de les remplacer par celle de "libellé"du fichier1. Mais c'est aussi bien comme ça. Merci.
 

pierrejean

XLDnaute Barbatruc
Re : Cherche et remplace valeur

Re

Version pour remplacement

Code:
Sub report()
tablo = Sheets("Feuil2").Range("A2:B" & Sheets("Feuil2").Range("A" & Rows.Count).End(xlUp).Row)
tablo1 = Workbooks("Fichier2.xls").Sheets("Feuil1").Range("A2:A" & Workbooks("Fichier2.xls").Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row)
For n = LBound(tablo, 1) To UBound(tablo, 1)
  For m = LBound(tablo1, 1) To UBound(tablo1, 1)
    If tablo(n, 1) = tablo1(m, 1) Then
      tablo1(m, 1) = tablo(n, 2)
    End If
  Next
Next
 Workbooks("Fichier2.xls").Sheets("Feuil1").Range("A2").Resize(UBound(tablo1, 1), UBound(tablo1, 2)) = tablo1
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 152
Membres
103 135
dernier inscrit
Imagine