.Find de plusieurs variables et Loop Infini
Bonjour à tous,
Je viens vers vous pour deux petites interrogations...
J'ai un code vba simple qui cherche, par exemple, le mot "garage" dans les Colonnes A, B et C, et si il trouve me renvoie, sur la même ligne, "Garage" en colonne D. Rien de bien compliqué...
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
| Sub Test_Garage()
Dim FL1 As Worksheet
Dim c As Range, Donnee1 As String
Set FL1 = Worksheets("Données")
For Nolig = 2 To FL1.Range("A65535").End(xlUp).Row
Donnee1 = "Garage"
With FL1.Range("a1:c" & FL1.Range("A65535").End(xlUp).Row)
Set c = .Find(Donnee1, LookIn:=xlValues)
If Not c Is Nothing Then
FirstAddress = c.Address
Do
FL1.Cells(c.Row, 4) = "Garage"
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> FirstAddress
Else
' FL1.Cells(Nolig, 4).Value = 0
End If
'Set c = Nothing
End With
Next
End Sub |
Mon premier problème est devant mon nez, mais ne trouve pas de solutions.
Quand je fais des tests, avec des données sur les 30 premières lignes et les colonnes A,B et C: tout marche :mouarf:.
Mais quand je lance cette macro sur 8 000 lignes, j'ai l'impression qu'elle boucle à l'infini :weird:
J'ai repris les aides sur Loop :f1: mais ne comprends pas l'erreur?
Si cela marche pour 10, cela marche pour 100000 non?
Est-ce du fait qu'il cherche sur plusieurs colonnes, et que celles-ci sont mal définis?
Ma seconde question est: comment faire pour qu'il cherche "garage" et "essence" (par ex.) et renvoie dans les deux cas "Garage".
J'ai cherché du côté de Array, And et par les Tableaux mais ne trouve pas.
Auriez-vous une piste?
En vous remerciant par avance :oops::D