Pb temps d'exécution

speedyk62 Messages postés 11 Date d'inscription dimanche 24 août 2008 Statut Membre Dernière intervention 12 novembre 2008 - 3 nov. 2008 à 10:11
speedyk62 Messages postés 11 Date d'inscription dimanche 24 août 2008 Statut Membre Dernière intervention 12 novembre 2008 - 6 nov. 2008 à 15:59
Bonjour,

Voilà mon problème, j'ai à peu pret 2000 lignes à traiter. J'extrais des données de la feuille b vers la feuille a. Je mets 10 min à exécuter ! Aidez moi !

merci !!

Sheets(b).select
i= nblignesdépartfeuillea + 1
For j = 2 To nblignesfeuilleb      If Not Sheets(a).Range("A" & j) "" And Not Sheets(a).Range("H" & j).Value "" Then
           Range("A" & i).Value = Sheets(a).Range("A" & j).Value
           Range("B" & i).Value = Sheets(a).Range("D" & j).Value
           Range("C" & i).Value = Sheets(a).Range("H" & j).Value
           Range("D" & i).Value = Sheets(a).Range("K" & j).Value
           i = i + 1
      End If
Next j

3 réponses

speedyk62 Messages postés 11 Date d'inscription dimanche 24 août 2008 Statut Membre Dernière intervention 12 novembre 2008
3 nov. 2008 à 10:13
petite erreur

Sheets(b).select
i= nblignesdépartfeuilleb + 1
For j = 2 To nblignesfeuillea      If Not Sheets(a).Range("A" & j) "" And Not Sheets(a).Range("H" & j).Value "" Then
           Range("A" & i).Value = Sheets(a).Range("A" & j).Value
           Range("B" & i).Value = Sheets(a).Range("D" & j).Value
           Range("C" & i).Value = Sheets(a).Range("H" & j).Value
           Range("D" & i).Value = Sheets(a).Range("K" & j).Value
           i = i + 1
      End If
Next j
0
jrivet Messages postés 7392 Date d'inscription mercredi 23 avril 2003 Statut Membre Dernière intervention 6 avril 2012 60
3 nov. 2008 à 11:36
Salut,

Il faut éviter les accents dans le nom des variables.

essaie ceci pour voir si cela modifie un peu le temps.

Application.ScreenUpdating = False
i = nblignesdepartfeuilleb + 1
For j = 2 To nblignesfeuillea
     If Not IsEmpty(Sheets(a).Range("A" & j)) And Not IsEmpty(Sheets(a).Range("H" & j)) Then
          Sheets(b).Range("A" & i).value = Sheets(a).Range("A" & j).value
          Sheets(b).Range("B" & i).value = Sheets(a).Range("D" & j).value
          Sheets(b).Range("C" & i).value = Sheets(a).Range("H" & j).value
          Sheets(b).Range("D" & i).value = Sheets(a).Range("K" & j).value
          i = i + 1
     End If
Next j
Application.ScreenUpdating = True
, ----
[../code.aspx?ID=41455 By Renfield]

@+: Ju£i€n
Pensez: Réponse acceptée
0
speedyk62 Messages postés 11 Date d'inscription dimanche 24 août 2008 Statut Membre Dernière intervention 12 novembre 2008
6 nov. 2008 à 15:59
Merci

mais ça ne me fait quasi rien gagner en temps.
0
Rejoignez-nous