Recherche d'une valeur dans une colonne VBA

toroto -  
 chico95 -
Bonjour,


Voici mon petit problème.
Je débute en vba et je cherche à faire quelque chose qui me semblait tout simple.
Dans la colonne A j'ai des valeurs et je souhaite vérifier si j'ai les mêmes valeurs dans la colonne B. Si je n'ai pas les mêmes valeurs dans B, j'écris les valeurs qui diffère dans la colonne C.

J'ai fait des recherches sur le net et j'ai lancé l'enregistreur de macro.
Voila, au final, à quoi j'arrive:

Thisbook = ActiveWorkbook.Name

i = 1 'pour les lignes

While Workbooks(Thisbook).Sheets("Feuil1").Range("A" & i) <> ""
valeur_compare = Workbooks(Thisbook).Sheets("Feuil1").Range("A" & i).Value

If valeur_compare <> Columns("B:B").Select Then
Workbooks(Thisbook).Sheets("Feuil1").Range("C" & i) = valeur_compare
End If
i = i + 1

Wend

Le problème est que dans l'état il m'écrit dans la colonne C les mêmes valeurs que dans la colonne A.

Avez-vous une idée à me proposer ?

Merci
A voir également:

4 réponses

chico95
 
tu fonctionne par lignes ou par colonnes ?

Car si c'est en ligne tu fais une boucle :

for (i=1 To 20) /*si tu as 20 lignes

If Cell(i, A) <> Cell(i, B) Then /*si A1 est différent de B1
Cell(i,C) = Cell(i, B) /*on affiche ce qu'il y a de différent dans la collone B1
End If

Next i
0
toroto
 
En fait, je souhaite prendre chaque valeur dans A(a1=4, a2=8, a3=9...) et vérifier si ces valeurs apparaissent dans toute la colonne B.
Car dans B, je n'ai pas de correspondance avec chaque ligne de la colonne A.
Par exemple, dans A1 je peux avoir 4 et je peux retrouver 4 dans B54.

Merci chico95, je vais essayer ta solution pour voir le résultat.
0
toroto
 
J'ai essayé la solution de chico95 mais malheureusement, il ne me donne pas le résultat attendu.

Une autre idée ?

Merci
0
chico95
 
euh...lol essaye ça !

'pour le nombre de lignes mais le assez haut pour pas être embeté !

For ( a = 1 To 500 )

For ( b = 1 To 500 )

If Cell(a, A) <> Cell(b, B) Then

Cell(a, C) = Cell(a , C) & "," & " " & Cell(b, B) 'on affiche ce qu'il y avait de different dans la colonne C, le tout séparés par des virgules !

End If

Next b

Next a
0