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é...
Mon premier problème est devant mon nez, mais ne trouve pas de solutions.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Quand je fais des tests, avec des données sur les 30 premières lignes et les colonnes A,B et C: tout marche.
Mais quand je lance cette macro sur 8 000 lignes, j'ai l'impression qu'elle boucle à l'infini
J'ai repris les aides sur Loopmais 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![]()
Partager