Bonjour,
Je cherche à automatiser une recherche verticale sur VBA. Elle est d'ailleurs assez simple mais je débute alors je suis un peu paumé.
J'ai deux colonnes côte à côte, sur une même feuille. Je cherche à observer la première valeur de la première colonne, et parcourir toute la deuxième colonne. Si elle est dedans on inscrit dans une quatrième colonne "OK", sinon, on passe à la deuxième ligne de la première colonne, et ceci jusqu'à la fin de la colonne.
Sur ma feuille la colonne de référence est la deuxième, celle où chercher est la troisième, et celle où inscrire le OK est la quatrième.
Il faut savoir que je veux l'automatiser pour l'effectuer mensuellement, donc que la taille des colonnes va varier.
Voici ce que j'ai fait :
Ce code lance la macro, mais cette dernière inscrit des OK partout. (Alors qu'il y a clairement des cases de la colonne reférente qui sont pas dans la colonne à observer.) Sauriez-vous où se trouve le problème? Je tourne en rond...Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38 Dim line0 As Integer Dim line1 As Integer Dim cell_test0 As String Dim cell_test1 As String Sub line0_count() Sheets("Swaps Liés Oblig AP").Select line0 = -1 Do line0 = line0 + 1 cell_test0 = Cells(1 + line0, 3) Loop Until cell_test0 = "" End Sub Sub line1_count() Sheets("Swaps Liés Oblig AP").Select line1 = -1 Do line1 = line1 + 1 cell_test1 = Cells(1 + line1, 2) Loop Until cell_test1 = "" End Sub Sub recherche() Sheets("Swaps Liés Oblig AP").Select Dim i As Integer Dim j As Integer For i = 1 To line1 For j = 1 To line0 If Cells(i + 1, 2) = Cells(j + 1, 3) Then Cells(i + 1, 4) = "OK" End If Next j Next i End Sub
Merci beaucoup! :)