Rechercher si la valeur d'une cellule d'une feuille existe sur une autre

Bonjour le forum,

J'ai besoin que l'on m'éclaire au sujet de do while et loop avec une recherche multiple...

Je m'explique, j'ai deux feuille, l'une ("Feuil1") avec une ligne ayant des valeurs figées (donc qui ne peuvent changer de place) et l'autre avec des valeurs extraites d'une base de données ("Feuil2) qui ne sont pas forcément dans le même ordre et même pire avec des valeurs en plus ou en moins sur la même ligne.

je dois savoir si mes valeurs de ma feuil2 existent sur la feuil1 et si ce n'est pas le cas, alors je les ajoutent à la fin de ma ligne sur la feuil1....

J'ai recherché mais pas trouvé ce que je souhaitais, mais j'ai tout de même codé ça et je pense qu'il manque quelque chose, mais je ne vois pas quoi ?

Help

Sub Search() 
'Déclaration des variables Dim w1 As Worksheet, w2 As Worksheet, w3 As Worksheet 
Dim I As Long 

Set w1 = Sheets("feuil1") 'Feuille qui contient les extractions web 

Set w2 = Sheets("feuil2") 'Feuille qui contient les datas 
dernc = w1.Cells(1, Columns.Count).End(xlToLeft).Column 
j = 1
 I = 1 
Do While j <> dernc 
    Do While I <> dernc ' faire toute les colonnes 
        dernc = w1.Cells(1, Columns.Count).End(xlToLeft).Column 
        If Application.CountIf(w2.Cells(1, I), w1.Cells(1, j)) > 0 Then 'comparer si w2 et different de W1 
        dernc2 = w1.Cells(1, Columns.Count).End(xlToLeft).Column 
        w2.Cells(1, I).Copy Destination:=w1.Cells(1, dernc2).Offset(0, 1) 'copier nouvelle entité de la w2 Different en w3 a la fin de la ligne 1 de w3 
        End If 
        I = I + 1 
     Loop 
    I = 1 
j = j + 1 
Loop 
MsgBox "TERMINE" 
End Sub

Sur la feuille 1 en jaune les datas qui ne bouge pas et les autres sont celles qui s'incrémentent si elles n'existent pas (enfin j'aimerais que ça soit ça ^^).

Merci pour votre aide

Bonjour,

Je te joins une proposition, voir la procédure Search2. Je n'ai pas compris pourquoi tu voulais imbriquer des boucles puisque, sauf mauvaise compréhension de ma part, tu veux recopier les valeurs de feuil2 qui ne sont pas présentes dans Feuil1. Si c'est bien cela, en parcourant les valeurs de Feuil2 et en faisant le test "CountIF(...) = 0" suffit à déterminer que la valeur doit être ajoutée à Feuil1.

Bonjour Cylfo,

J'avais bien tenté cela mais je m'y étais pris à l'envers, étant autodidacte, j'ai construire mon code avec mes connaissances.

En tout cas c'est exactement ce que je souhaitais, tu m'as donc bien compris ^^

Un grand super merci pour ton aide.

Bonne journée

Rechercher des sujets similaires à "rechercher valeur feuille existe"