Gagner du temps sans boucle for

Guillaume -  
 Utilisateur anonyme -
Bonjour le forum,

J'ai une petite demande qui concerne le temps d'exécution de ma macro.
L'objectif est de boucler sur chaque feuille et ensuite sur chaque valeur allant de 3 à 1000.
For Each sh In ActiveWorkbook.Worksheets
            For i = 3 To 1000


Pensez vous qu'avec un while je pourrais gagner plusieurs secondes et si oui, de quelle façon procéder ?

Merci d'avance,
Configuration: Windows / Edge 18.17763

2 réponses

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    Non.. aucun gain en changeant un foreach par un while ..

    Par contre, si tu désactives l'affichage le temps du traitement.. là ..oui... tu vas en gagner
    application.screenupdating = false
    for each ..
    
    
    next
    ' on reactive
    application.screenupdating = true 
    


    0
    1. Guillaume
       
      Bonjour et merci pour ta réponse.

      J'avais déjà essayé avec ceci :

      Application.ScreenUpdating = False
      Application.DisplayStatusBar = False
      Application.EnableEvents = False
      ActiveSheet.DisplayPageBreaks = False
      


      Malheureusement ce n'est pas aussi concluant que je le souhaiterai..
      0