De l’importance des variables tableaux en VBA

Voici le résul­tat d’un petit test de charge­ment en mémoire d’un grand tableau.

Je com­pare un charge­ment direct dans une vari­able tableau vs. un charge­ment cel­lule par cel­lule.

Voici le fichi­er.

Les résul­tats sont sans appels…

Et le code du fichi­er qui vous mon­tre une des façons de créer un timer dans du VBA:

Sub Bouton1_Cliquer()
'Definition des variables
Dim arrPlage() As Variant
Dim t As String
Dim i As Long
Dim j As Long

'On charge directement les valeurs
t = "Début du programme : " & Application.WorksheetFunction.Text([now()] - tStart, "h:mm:ss.00")
 arrPlage = ActiveSheet.UsedRange.Value
t = t & vbCrLf & "Fin mise en mémoire usedrange values: " & _
Application.WorksheetFunction.Text([now()] - tStart, "h:mm:ss.00")

'On charge les formules
arrPlage = ActiveSheet.UsedRange.FormulaR1C1
t = t & vbCrLf & "Fin mise en mémoire usedrange formula: " & _
Application.WorksheetFunction.Text([now()] - tStart, "h:mm:ss.00")

'on charge en lisant cellule par cellule
For i = LBound(arrPlage, 1) To UBound(arrPlage, 1)
    For j = LBound(arrPlage, 2) To UBound(arrPlage, 2)

        arrPlage(i, j) = ActiveSheet.Cells(i, j).Value
    
    Next
Next
t = t & vbCrLf & "Fin mise en mémoire par lecture de chaque cellule : " & _
Application.WorksheetFunction.Text([now()] - tStart, "h:mm:ss.00")

'on affiche le resultat.
MsgBox t

End Sub

Pour en savoir plus sur les vari­ables tableaux, vous pou­vez con­sul­ter cette for­ma­tion:
http://www.xlerateur.com/collection-vba-avance-volume-3-les-variables-tableaux-en-vba‑2/

A bien­tôt

Gae­tan

En cadeau de bien­v­enue : les 7 com­bi­naisons de touch­es indis­pens­ables sur Excel
Pour marque-pages : permalien.

3 réactions à De l’importance des variables tableaux en VBA

  1. Caroline a écrit:

    Bon­jour Gae­tan,

    Je voulais télécharg­er le fichi­er excel que vous met­tez à dis­po pour expli­quer l’im­por­tance du tableau en VBA…impossible voici le mes­sage : “l’URL demandée a été blo­quée par le mod­ule de base de don­nées anti-virale de McAf­fee Web Gate­way.
    Caté­gorie d’URL : Mali­cious Sites
    Répu­ta­tion : High Risk…”

    Con­nais­sant votre pro­bité, il y a peut-être un pb tech­nique sur votre site ou sur le site de McAfee.

    Cor­diale­ment,

  2. Gaetan a écrit:

    Mer­ci pour le retour, effec­tive­ment, il s’ag­it d’un faux-posi­tif.
    Je viens de l’ou­vrir et Avast ne l’a pas détec­té comme con­tenant un virus, je n’ai pas eu de prob­lème et per­son­ne ne m’a remon­té d’in­for­ma­tions con­cer­nant des fichiers con­tenant des virus. Donc, a pri­ori tout est cor­rect.
    Sinon, vous pou­vez copi­er-coller le code VBA
    Cor­diale­ment
    Gae­tan

  3. Pingback:Mettre une plage dans une variable tableau (array) - XLérateur

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.