Question

J'ai actuellement du code pour dessiner un graphique basé sur les valeurs d'une série de zones de texte d'un formulaire d'accès.

Je suis satisfait du code et de son fonctionnement, mais je ne suis pas convaincu que ce soit le moyen le plus efficace de le faire. Le graphique prend environ 1,2 seconde à redessiner à chaque fois. Le formulaire étant non lié, les valeurs sont simplement extraites des zones de texte. Juste pour vérifier, j’ai eu l’occasion de faire une boucle et de vider les valeurs des zones de texte dans debug.print, ce qui l’a fait instantanément, de sorte que cela ne peut pas être ça.

Je soupçonne qu'il tente de redessiner le graphique après chaque valeur ajoutée. Y at-il un moyen plus rapide de faire cela dans VBA ou suis-je coincé avec cela?

'**************************
        '** Draw the Call Deviation graph **
        '**************************
        .cells(1, 1) = "Start Time"
        .cells(1, 2) = "Deviation"
        lRT_actual = 0
        lRT_forecast = 0
        For i = 1 To 48
            lRT_actual = lRT_actual + Me.Controls("txtActual_" & i)
            lRT_forecast = lRT_forecast + Me.Controls("txtForecast_" & i)
            .cells(i + 1, 1) = Format(DateAdd("n", (i - 1) * 15, "08:00:00"), "HHMM")

            .cells(i + 1, 2) = lRT_actual - lRT_forecast

            If Me.acxProgress_bar.Value + 2 < 100 Then
                Me.acxProgress_bar.Value = Me.acxProgress_bar.Value + 2
            Else
                Me.acxProgress_bar.Value = 90
            End If
        Next i

Merci de votre aide

Était-ce utile?

La solution

Serait-il possible pour vous d'ajouter les valeurs à un tableau et à un graphique?

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top