vba - rechercher une correspondance entre 2 feuilles et renvoyer une valeur

osishame

XLDnaute Junior
Bonjour,

Débutante en VBA, je consulte régulièrement ce site qui me premet de résoudre mes problemes sans poser de post mais aujourd'hui je bloque !

je sollicite donc votre aide pour le problème suivant :


j'ai deux feuilles dans un fichiers : Feuil1 et Feuil2

pour chaque ligne de la feuil2 (à partir de la 2eme ligne), je souhaite comparer chaque valeur de la colonne B (identifiant numérique) avec les valeurs de la colonne B (identifiant numérique) de la feuil1.
Des que la correspondance a été trouvée, la colonne C de la feuil2 prends la valeur (texte) de la colonne E de la feuil1 pour la ligne en question.


Voilà ce que j'ai écrit :
---------------------------------------------------------------------

Public Sub RechercheCopie()
Dim Id As Integer
Dim condition As Boolean
Dim iFeuil1, iFeuil2 As Integer
Sheets(2).Select

iFeuil2 = 2

Do

Id = Sheets(2).Cells(iFeuil2, 2).Value

iFeuil1 = 2

condition = False

Do
If Id = Sheets(1).Cells(iFeuil2, 2).Value Then
Sheets(2).Cells(iFeuil2, 3).Value = Sheets(1).Cells(iFeuil1, 5).Value
condition = True
End If

iFeuil1 = iFeuil1 + 1

Loop While (Sheets(1).Cells(iFeuil1 - 1, 1).Value <> "" And condition = False)

iFeuil2 = iFeuil2 + 1

Loop While Sheets(2).Cells(iFeuil2 - 1, 1).Value <> ""

End Sub

-------------------------------------------------------------
Ceci me renvoie topujours la valeur de la cellule E2 (Feuil1) pour chaque ligne de la colonne C de la feuil2. Comment régler ce problème ?

N'hésitez pas à me demander plus de renseignements si nécessaire.
Merci de votre aide.

Gaëlle
 

osishame

XLDnaute Junior
Re : vba - rechercher une correspondance entre 2 feuilles et renvoyer une valeur

Merci de votre réponse si rapide.
Un peu plus à l'aide avec les formules excels, j'y ai effectivement pensé pendant que je rédigeais mon code mais j'aimerais également bien venir a bout de ce que j'avais commencer !
 

osishame

XLDnaute Junior
Re : vba - rechercher une correspondance entre 2 feuilles et renvoyer une valeur

Bonjour Pierrejean,

Je viens d'essayer et après retrait de "iFeuil1=2", plus rien ne s'affiche.
Il y a une message d'erreur qui porte sur la ligne :

Sheets(2).Cells(iFeuil2, 3).Value = Sheets(1).Cells(iFeuil1, 5).Value
 

Statistiques des forums

Discussions
312 047
Messages
2 084 864
Membres
102 689
dernier inscrit
moshe yaacov abnaim