Ma macro utilise 50% du CPU
afullana
Messages postés
301
Statut
Membre
-
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)
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:
- Ma macro utilise 50% du CPU
- Temperature cpu - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Cpu burner - Télécharger - Optimisation
- Cpu stress - Télécharger - Informations & Diagnostic
- Cpu z - Télécharger - Informations & Diagnostic