Ma macro utilise 50% du CPU

afullana Messages postés 301 Statut Membre -  
afullana Messages postés 301 Statut Membre -
Bonjour,
J'ai crée Un comparateur qui boucle a l'infini sur Excel.
Mon souci viens du fait que ma macro utilise 50% en moyenne de ma ressource CPU.
Pour etre plus exact, la macro utilise 10% du CPU1 et 85% du CPU2 (C2D-6550)

Si c'était une macro pour faire "mumuse" sa n'aurait aucune incidence, mais j'ai appliqué cette macro sur 3 postes au travail

Voici mon Code complet:

Sub clear()
Do
If Worksheets("Lot").Range("C9") <> Worksheets("Data").Range("C3") Then

With Sheets("Lot")
.Range("C17:C200").ClearContents
.Range("G26").ClearContents
.Range("F32:G200").ClearContents
End With

With Sheets("Data")
.Range("A4:D200").ClearContents
End With

With Sheets("Data")
.Range("A3").QueryTable.Refresh BackgroundQuery:=False
End With

With Sheets("Lot")
.Range("C17").QueryTable.Refresh BackgroundQuery:=False
.Range("h27").QueryTable.Refresh BackgroundQuery:=False
.Range("F32").QueryTable.Refresh BackgroundQuery:=False
.Range("C9").Select

End With

Else
Attente (1)
End If

Loop
End Sub
--------------------------------------------------------------------------------------------
Sub Attente(seconde As Integer)
Dim Start, PauseTime
PauseTime = seconde
Start = Timer
Do While Timer < Start + PauseTime
DoEvents
Loop

End Sub
---------------------------------------------------------------------------------------------

Mon document Excel est composé de 3 feuilles ( Tolérance, Data, et Lot)
Ma macro intervient seulement sur les feuilles "Data" et "Lot"
Pour faire simple cette macro efface des données puis actualise des requêtes SQL
Je tiens a préciser que lors des actualisations des requêtes, ma charge CPU redescend a 1%
Mais la comparaison s'effectue en continu et n'a pas forcement besoin de passer au "Then" donc la charge est majoritairement a 50%.

Si j'enlève mon sous programme "attente", je ne peut même plus accéder aux feuilles Excel, le logiciel est surchargé immédiatement.



Comment puis je faire pour reduire cette charge CPU? (Si c'est possible)
A voir également:

2 réponses

afullana Messages postés 301 Statut Membre 19
 
Bon je pense avoir une solution, au lieu de boucler ma macro a l'infini, il existe des macros événementielles.

Je pense que sa règlerait mon probleme
Donc je vais me pencher sur le sujet.
0
afullana Messages postés 301 Statut Membre 19
 
En effet cela a fonctionné parfaitement..
Macro active tous le temps et 0% de charge CPU
Vu que personne ne m'a aidé, je garde ma solution pour moi :)
0