Bonjour,
J'ai réalisé une macro qui récupérée une valeur dans un fichier xls et cherche cette valeur dans un fichier texte, une fois trouver je copie la ligne et la ligne suivante du fichier texte. Par contre il faut que la macro tourne pendant 30min pour traitement 9000 cellules.
Je souhaite savoir s'il y a un moyen pour optimiser la recherche.
Merci d'avance
Cf-code
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
31
32
33 Sub recherche() Dim strLigne As String Dim findval As String Dim i As Integer For i = 1 To 9000 Open "C:\bluebook2.txt" For Input As #1 findval = Cells(i, 1).Value 'recupperation de l'information à chercher Do While Not EOF(1) Line Input #1, strLigne 'lecture du fichier bluebook2 ligne par ligne If InStr(1, strLigne, findval, 1) > 0 Then 'condition si l'information trouvé Cells(i, 2) = strLigne 'copier la ligne en cours de lecture Line Input #1, strLigne 'lecture de la ligne suivante Cells(i, 3) = strLigne 'copier la ligne suivante End If Loop Close #1 Next i MsgBox "traitement terminer" End Sub
Partager