Recherche d'une valeur dans une colonne VBA

Fermé
toroto - 19 mars 2010 à 11:55
 chico95 - 19 mars 2010 à 14:08
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

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
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
J'ai essayé la solution de chico95 mais malheureusement, il ne me donne pas le résultat attendu.

Une autre idée ?

Merci
0
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