Matching de donnees

Bonjour,

j'aimerais votre aide pour construire une boucle qui me permettrait de matcher des données.

Je détiens une liste de noms dans une feuille et une autre dans une seconde feuille. Mon but est de copier des données de la seconde feuille dans la première si le nom entre les feuilles est le même.

J'ai déjà essayé ce code qui fait planter mon programme excel :

Sub Fusion_FEUILLE()

Dim x As Integer

Dim Z As Integer

For x = 2 To 2001

For Z = 2 To 2001

If Sheets("Feuil1").Cells(x, 1) = Sheets("Feuil2").Cells(Z, 1) Then

Sheets("Feuil2").Cells(Z, 2) = Sheets("Feuil1").Cells(x, 4) And Sheets("Feuil2").Cells(Z, 3) = Sheets("Feuil1").Cells(x, 5)

End If

Next Z

Next x

End Sub

Le problème dans mon code est le suivant :

Le premier nom de la première feuille va être comparé avec le premier nom de la deuxième feuille

si aucune correspondance n'est détectée, le code va faire que le second nom de la première feuille sera comparé avec le second nom de la seconde feuille etc...

J'aimerais comparer le premier nom de la première feuille avec toute la liste de noms de la seconde feuille avant de passé au nom suivant.

J'espère avoir bien expliqué mon problème

Ci-joint un fichier test,

en vous remerciant de vos retours,

4test-client.xlsx (10.47 Ko)

Salut,

Voici ton code corrigé.

Sub Fusion_FEUILLE()
 Dim x As Integer
 Dim Z As Integer

 For x = 2 To Sheets("Feuil1").Range("A" & Rows.Count).End(xlUp).Row
    For Z = 2 To Sheets("Feuil2").Range("A" & Rows.Count).End(xlUp).Row
        If Sheets("Feuil1").Cells(x, 1) = Sheets("Feuil2").Cells(Z, 1) Then
            Sheets("Feuil2").Cells(Z, 2) = Sheets("Feuil1").Cells(x, 4)
            Sheets("Feuil2").Cells(Z, 3) = Sheets("Feuil1").Cells(x, 5)
        End If
    Next Z
 Next x

 End Sub

Dans le fichier ci-joint, j'ai ajouté des données dans les colonnes 4 et 5 de ta Feuil1. De plus, sur cette feuille, tu as écrit PAUL avec un espace (j'ai corrigé dans le fichier ci-retourné) ; Excel ne trouve donc pas de concordance avec PAUL sans espace.

C'est un code qui pourrait être passablement amélioré du point de vue esthétique, logique et pratique.

......….si aucune correspondance n'est détectée, le code va faire que le second nom de la première feuille sera comparé avec le second nom de la seconde feuille etc...

C'est faux : le premier nom de la première feuille est comparé avec tous les noms de la seconde feuille avant que ça passe au deuxième nom de la première feuille.

Amicalement.

C'est faux : le premier nom de la première feuille est comparé avec tous les noms de la seconde feuille avant que ça passe au deuxième nom de la première feuille.

Autant pour moi alors

Merci pour votre retour, vous m'aidez grandement!

Le code marche très bien.

Rechercher des sujets similaires à "matching donnees"