Problème de lenteur à cause d'une simple affectation de cell

Bonjour =)

Reprenant une application pro sur une techno que je ne connais pas de base (le VBA/Excel !), je suis confronté à un problème que j'ai 'identifié' mais alors...impossible de comprendre pourquoi ça "bug"

En fait ce n'est pas vraiment un bug, je rencontre à cause d'une ligne de grosses lenteurs dans l'exécution du programme.

Concrètement, le programme contruit divers tableaux, et ensuite il écrit les valeurs de ces tableaux dans les cellules du tableur Excel.

voici un bout du programme :

...
For No_Bug = 0 To Indtab - 1
    If mesComments(No_Bug) <> "" Then
        Sheets(feuille_LBT).Cells(Ligne_Bug, 1) = Ligne_Bug - 5
        Sheets(feuille_LBT).Cells(Ligne_Bug, 2) = mesID_Test(No_Bug)
        Sheets(feuille_LBT).Cells(Ligne_Bug, 3) = mesResultats(No_Bug)
        Sheets(feuille_LBT).Cells(Ligne_Bug, 4) = mesComments(No_Bug)
        Sheets(feuille_LBT).Cells(Ligne_Bug, 5).FormulaLocal = mesScreens(No_Bug)
        Sheets(feuille_LBT).Cells(Ligne_Bug, 6) = 2 'Si je commente Seulement cette ligne, le programme s'exécute très vite et sinon...un tour de boucle prends environ 1 à 2 secondes à s'exécuter. 
        Sheets(feuille_LBT).Cells(Ligne_Bug, 7) = 1
    End If 
    ...
Next No_Bug
...

A quoi ça pourrait être du ? c'est exactement le même traitement que les autres collones, je ne comprend pas du tout pourquoi ça peut faire ça et ça me rend fou x)

Merci pour le coup de main !

Bonjour,

Une macro Worksheet_Change qui s'exécute sur cette colonne ou un calcul (matriciel) qui s'effectue...

Difficile de dire avec juste une tranche de macro.

Au lieu de commenter la ligne : Debug en mode pas à pas : Mette un point d'arret (F9) sur cette ligne, ensuite (F8...F8...F8...F8...)

A+

Merci pour ta réponse, j'étais en train de rédiger ce qui suit =) (mais ce que tu écris me fais penser qu'il faut que je me fasse la main sur le mode debug, je ne passe que par du MsgBox actuellemebt x) )

Après quelques recherches, il s'averre qu'une formule Excel (assez gourmande) d'une autre feuille référence la collone qui me pose problème. C'est-à-dire que lorsqu'une case de la colonne est modifiée, la formule de l'autre feuille s'exécute et c'est ça qui me mange tout ce temps.

Y a t'il alors un moyen de stoper cet écoute dynamique temporairement ? Cela pour effectuer ma boucle sans ralentissement, et en fin de boucle, je reactive le listener (si il s'agit bien de listener).

Je continue les recherches mais si vous savez, merci pour votre aide =)

...
Application.Calculation = xlManual
For No_Bug = 0 To Indtab - 1
    If mesComments(No_Bug) <> "" Then
        Sheets(feuille_LBT).Cells(Ligne_Bug, 1) = Ligne_Bug - 5
        Sheets(feuille_LBT).Cells(Ligne_Bug, 2) = mesID_Test(No_Bug)
        Sheets(feuille_LBT).Cells(Ligne_Bug, 3) = mesResultats(No_Bug)
        Sheets(feuille_LBT).Cells(Ligne_Bug, 4) = mesComments(No_Bug)
        Sheets(feuille_LBT).Cells(Ligne_Bug, 5).FormulaLocal = mesScreens(No_Bug)
        Sheets(feuille_LBT).Cells(Ligne_Bug, 6) = 2 'Si je commente Seulement cette ligne, le programme s'exécute très vite et sinon...un tour de boucle prends environ 1 à 2 secondes à s'exécuter. 
        Sheets(feuille_LBT).Cells(Ligne_Bug, 7) = 1
    End If 
    ...
Next No_Bug
Application.Calculation = xlCalculationAutomatic
...

Damned, j'étais encore en train d'écrire la réponse x)

Mais merci quand même , et cette commande fait bien son travail =)

Rechercher des sujets similaires à "probleme lenteur cause simple affectation"