Bonjour à tous,

J'aimerai optimiser mon code car celui-ci prend trop de temps à l’exécution (environ 3mn).
Il s'agit de faire une boucle sur environ 1000 lignes puis de faire 2 recherchev conditionnelle.
La recherchev s'effectue sur un tableau xl d'une autre feuille comprenant plus de 3000 lignes et renvoie la valeur 7 et 8 de ce tableau dans notre boucle.
Ci-dessous le code à optimiser.

Merci pour votre aide.


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
Sub passif_ecart()
 
Dim Rg As Range
Dim i As Long
With Sheets("Contrôle Niveau 2")
  For i = 18 To .Range("C" & .Rows.Count).End(xlUp).Row
    If Sheets("Contrôle Niveau 2").Cells(i, 14) = "GVIE" Then
      Set Rg = Sheets("baseGVIEdumois").Range("A:A").Find(What:=.Range("C" & i).Value, LookAt:=xlWhole)
      If Not Rg Is Nothing Then
      .Range("AM" & i).Value = Rg.Offset(0, 7).Value
      .Range("AN" & i).Value = Rg.Offset(0, 8).Value
    End If
    End If
  Next i
End With
 
End Sub