Recherche valeur dans deux feuilles différentes VBA

Bonjour,

Je cherche à faire une recherche valeur (UNE MACRO VBA) à partir de la feuille 2 dans la feuille 1 qui permet relier le Code Department (Feuille 2) au Trigram Tiers- (Feuille 1) en fonction des code WL (Feuille 1 et 2) des différentes feuilles. Bien évidemment, les Codes WL dans la feuille 2 sont plus nombreux que les codes WL de la feuille 1.

Merci à vous.

15exemple-alloc.xlsx (10.44 Ko)

Bonjour,

Vous pouvez faire cela par formule plutot que faire un code VBA

Exemple en B2 de la feuille 1 --> =INDEX(Feuil2!A2:B6;EQUIV(Feuil1!A2;Feuil2!A2:A6;);2)

Cordialement

Bonjour mais VBA c'est pas possible plutôt ? Merci ! :)

De plus @Dan, certaines valeurs sont en N/A.

mais VBA c'est pas possible plutôt

C'est possible mais ce serait mieux de voir votre vrai fichier (sans données confidentielles)

17upload-wl-a21.zip (322.51 Ko)

Le voici @Dan. Par avance, merci.

Re,

Vous pouvez essayer avec ce code

Sub test()
Dim i As Integer, Lig As Integer
Dim cel As Range, Plage As Range

With Feuil1
    Set Plage = .Range("A2:A" & .Range("A" & Rows.Count).End(xlUp).Row)
    Plage.Offset(0, 1).ClearContents
    For Each cel In Plage
        Lig = WorksheetFunction.Match(.Range("A" & cel.Row).Value, Feuil2.Range("A:A"), 0)
        .Range("B" & cel.Row) = Feuil2.Range("B" & Lig)
    Next cel
End With
End Sub

Cordialement

Merci Dan ! Problème d'objet requis ? Pourquoi ?

Problème d'objet requis ? Pourquoi ?

Aucune idée

Vous l'avez essayé dans le fichier posté ?

Oui ! ca me fait erreur ou sinon problème fonction Match.

Je n'ai aucun souci sur le fichier posté ici
Vous avez bien placé le code dans un module ?

Comment faire si justement on veut renvoyer la valeur None ou N/A si jamais elle n'a pas de Code Department svp ?

Bonjour

Comment faire si justement on veut renvoyer la valeur None ou N/A si jamais elle n'a pas de Code Department svp ?

Remplacez le code que je vous ai donné par celui-ci

Sub test()
Dim i As Integer, Lig As Integer
Dim cel As Range, Plage As Range

With Feuil1
    Set Plage = .Range("A2:A" & .Range("A" & Rows.Count).End(xlUp).Row)
    Plage.Offset(0, 1).ClearContents
    For Each cel In Plage
        On Error Resume Next
        Lig = WorksheetFunction.Match(.Range("A" & cel.Row).Value, Feuil2.Range("A:A"), 0)
        If Err.Number = 0 Then
            .Range("B" & cel.Row) = Feuil2.Range("B" & Lig)
        Else: .Range("B" & cel.Row) = "None"
        End If
        Lig = 0
    Next cel
End With
End Sub

Cordialement

Rem : Vous avez d'autres fils qui sont toujours ouverts ( https://forum.excel-pratique.com/membre/91026). Si terminés, ce serait parfait si vous pouviez les cloturer avec un petit mot pour celui qui vous a apporté une solution.

Merci beaucoup Dan !

Rechercher des sujets similaires à "recherche valeur deux feuilles differentes vba"