Gagner du temps sans boucle for

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. Modérateur
    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. 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