Rechercher dans un autre classeur et copier la valeur

Bonjour tout le monde,

j'ai deux tableaux dans deux classeurs Excels différents

1 2

et je veux chercher les valeurs de la colonne Nouveau codegamme dans l'autre classeur et quand il l a retrouve je veux copier la valeur CodeArticle correspondante et la coller dans CodeArticle du classeur 2

y a t il une formule ??

ci joint Excel

56classeur1.xlsx (9.63 Ko)
46classeur2.xlsx (8.95 Ko)

Merci beaucoup

Bonjour,

Voici un code pour effectuer cette copie.

Sub Recherche_CodeGamme()
Dim WsS As Worksheet, WsC As Worksheet
Dim C As Range, Cel As Range
    Set WsS = Workbooks("Classeur1.xlsm").Worksheets("Feuil1")
    Set WsC = Workbooks("Classeur2.xlsx").Worksheets("Feuil1")
    For Each C In WsC.Range("C2:C" & WsC.Range("C" & Rows.Count).End(xlUp).Row)
        Set Cel = WsS.Columns("E").Find(C, , xlValues, xlWhole)
        If Not Cel Is Nothing Then
            Cel.Offset(0, -2).Copy C.Offset(0, -2)
        End If
    Next C
    Set WsC = Nothing: Set WsS = Nothing
End Sub

Le code doit être placé dans le Classeur1 qui est enregistré avec une extension xlsm.

Pour permettre la copie, les deux classeurs doivent être ouverts.

A+

frangy a écrit :

Bonjour,

Voici un code pour effectuer cette copie.

Sub Recherche_CodeGamme()
Dim WsS As Worksheet, WsC As Worksheet
Dim C As Range, Cel As Range
    Set WsS = Workbooks("Classeur1.xlsm").Worksheets("Feuil1")
    Set WsC = Workbooks("Classeur2.xlsx").Worksheets("Feuil1")
    For Each C In WsC.Range("C2:C" & WsC.Range("C" & Rows.Count).End(xlUp).Row)
        Set Cel = WsS.Columns("E").Find(C, , xlValues, xlWhole)
        If Not Cel Is Nothing Then
            Cel.Offset(0, -2).Copy C.Offset(0, -2)
        End If
    Next C
    Set WsC = Nothing: Set WsS = Nothing
End Sub

Le code doit être placé dans le Classeur1 qui est enregistré avec une extension xlsm.

Pour permettre la copie, les deux classeurs doivent être ouverts.

A+

Merci frangy , c'est très gentil , mais n y a t il pas une solution sans macro ?

Toujours avec les 2 classeurs ouverts,

dans le Classeur2, cellule A2, tu places la formule :

=SIERREUR(INDEX([Classeur1.xlsm]Feuil1!$C$2:$C$16;EQUIV(C2;[Classeur1.xlsm]Feuil1!$E$2:$E$16;0));"")

puis tu fais une copie sur la plage A2:A11.

A+

frangy a écrit :

Toujours avec les 2 classeurs ouverts,

dans le Classeur2, cellule A2, tu places la formule :

=SIERREUR(INDEX([Classeur1.xlsm]Feuil1!$C$2:$C$16;EQUIV(C2;[Classeur1.xlsm]Feuil1!$E$2:$E$16;0));"")

puis tu fais une copie sur la plage A2:A11.

A+

Merciii frangy,

c'est excellent

Rechercher des sujets similaires à "rechercher classeur copier valeur"