Erreur 5 sur double boucle For

Résolu
soyg -  
 soyg -
Bonjour, je souhaite comparer deux colonnes de mon classeur afin lister dans une troisième les valeurs qui sont communes aux deux. Cela dans le but d'automatiser une nomenclature.

afin de mieux visualiser mon problème j'ai simplifier le code.
j'utilise deux colonnes dans un classeur excel avec au moins une valeur identique dans les deux.

Mon idée est de balayer à chaque fois la deuxième colonne pour chaque case de la première.

Le code erreur est le 5.
En mode pas à pas, l'erreur arrive a passer la première boucle For, le bug intervient lorsque la val2 apparait la première fois pour le balayage de la deuxieme case.


Sub recherche()

Dim Ligne1 As Integer
Dim Ligne2 As Integer
Dim Ligne3 As Integer
Dim val1 As Integer
Dim val2 As Integer
Dim i As Integer
Dim j As Integer

Ligne1 = 0
Ligne2 = 0
Ligne3 = 0

For i = 1 To 5

Ligne1 = Ligne1 + 1
val1 = Asc(Cells(Ligne1, 1))
For j = 1 To 5

Ligne2 = Ligne2 + 1
val2 = Asc(Cells(Ligne2, 2))

If val1 = val2 Then
Ligne3 = Ligne3 + 1
Cells(Ligne3, 3) = Cells(Ligne1, 1)
End If
Next
Next

End Sub


Merci d'avance pour votre aide

soyg

A voir également:

1 réponse

Gyrus Messages postés 3360 Statut Membre 526
 
Bonjour,

Essaie comme cela :
Sub recherche()
Dim Ligne As Integer, val1 As Integer, val2 As Integer
Dim i As Byte, j As Byte
For i = 1 To 5
val1 = Asc(Cells(i, 1))
For j = 1 To 5
val2 = Asc(Cells(j, 2))
If val1 = val2 Then
Ligne = Ligne + 1
Cells(Ligne, 3) = Cells(i, 1)
End If
Next j
Next i
End Sub


A+
0
soyg
 
Je viens de trouver l'erreur, il me manquait une remise à zéro de ligne2 entre les next

merci a+
0