Quand j'ouvre un fichier Excel 2002 et execute une macro relativement
lourde, la macro s'éxecute à une vitesse raisonnable.
Si je relance la même macro, le temps d'execution peut-être multilplié par 3
ou 4.
Existe t'il dans VBA une fonction à éxécuter avant de sortir des macro qui
permettrais de libérer la place occupée par les variables et ainsi libererait
de la mémoire ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
lSteph
Bonjour, - la portée d'une variable ordinaire s'arrête à End Sub. - une variable globale conserve sa valeur durant la session, sauf si un évennement interrompt comme par exemple la présence d'une instruction End ou la réinitialisation de code dans VBE. -une variable objet (définie avec Set) est conservée en mémoire sauf si on prévoit de la libèrer Set myObj =Nothing
lSteph
On 18 juin, 09:27, alain chatellier wrote:
Bonjour, Voici mon problème :
Quand j'ouvre un fichier Excel 2002 et execute une macro relativement lourde, la macro s'éxecute à une vitesse raisonnable. Si je relance la même macro, le temps d'execution peut-être multilpli é par 3 ou 4.
Existe t'il dans VBA une fonction à éxécuter avant de sortir des ma cro qui permettrais de libérer la place occupée par les variables et ainsi li bererait de la mémoire ?
Cordialement
Bonjour,
- la portée d'une variable ordinaire s'arrête à End Sub.
- une variable globale conserve sa valeur durant la session, sauf si
un évennement interrompt comme par exemple
la présence d'une instruction End ou la réinitialisation de code dans
VBE.
-une variable objet (définie avec Set) est conservée en mémoire sauf
si on prévoit
de la libèrer Set myObj =Nothing
lSteph
On 18 juin, 09:27, alain chatellier
<alainchatell...@discussions.microsoft.com> wrote:
Bonjour,
Voici mon problème :
Quand j'ouvre un fichier Excel 2002 et execute une macro relativement
lourde, la macro s'éxecute à une vitesse raisonnable.
Si je relance la même macro, le temps d'execution peut-être multilpli é par 3
ou 4.
Existe t'il dans VBA une fonction à éxécuter avant de sortir des ma cro qui
permettrais de libérer la place occupée par les variables et ainsi li bererait
de la mémoire ?
Bonjour, - la portée d'une variable ordinaire s'arrête à End Sub. - une variable globale conserve sa valeur durant la session, sauf si un évennement interrompt comme par exemple la présence d'une instruction End ou la réinitialisation de code dans VBE. -une variable objet (définie avec Set) est conservée en mémoire sauf si on prévoit de la libèrer Set myObj =Nothing
lSteph
On 18 juin, 09:27, alain chatellier wrote:
Bonjour, Voici mon problème :
Quand j'ouvre un fichier Excel 2002 et execute une macro relativement lourde, la macro s'éxecute à une vitesse raisonnable. Si je relance la même macro, le temps d'execution peut-être multilpli é par 3 ou 4.
Existe t'il dans VBA une fonction à éxécuter avant de sortir des ma cro qui permettrais de libérer la place occupée par les variables et ainsi li bererait de la mémoire ?
Cordialement
lSteph
.. j'oubliais une variable ordinaire est conservée aussi si elle est définie en haut du module et non dans une sub.
Cf différence entre montext1 et montext2 '''''''''''''''''''''''''''''''''''''''''''' Dim montext1 As String
MsgBox montext1 MsgBox montext2 End If End Sub Sub test() On Error Resume Next If mavar Then MsgBox montext1 MsgBox montext2 End If On Error GoTo 0 End Sub ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
On 18 juin, 11:33, lSteph wrote:
Bonjour, - la portée d'une variable ordinaire s'arrête à End Sub. - une variable globale conserve sa valeur durant la session, sauf si un évennement interrompt comme par exemple la présence d'une instruction End ou la réinitialisation de code dans VBE. -une variable objet (définie avec Set) est conservée en mémoire sauf si on prévoit de la libèrer Set myObj =Nothing
lSteph
On 18 juin, 09:27, alain chatellier
wrote:
Bonjour, Voici mon problème :
Quand j'ouvre un fichier Excel 2002 et execute une macro relativement lourde, la macro s'éxecute à une vitesse raisonnable. Si je relance la même macro, le temps d'execution peut-être multilp lié par 3 ou 4.
Existe t'il dans VBA une fonction à éxécuter avant de sortir des macro qui permettrais de libérer la place occupée par les variables et ainsi libererait de la mémoire ?
Cordialement
.. j'oubliais une variable ordinaire est conservée aussi si elle est
définie en haut du module et non dans une sub.
Cf différence entre montext1 et montext2
''''''''''''''''''''''''''''''''''''''''''''
Dim montext1 As String
MsgBox montext1
MsgBox montext2
End If
End Sub
Sub test()
On Error Resume Next
If mavar Then
MsgBox montext1
MsgBox montext2
End If
On Error GoTo 0
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
On 18 juin, 11:33, lSteph <gmLSt...@gmail.com> wrote:
Bonjour,
- la portée d'une variable ordinaire s'arrête à End Sub.
- une variable globale conserve sa valeur durant la session, sauf si
un évennement interrompt comme par exemple
la présence d'une instruction End ou la réinitialisation de code dans
VBE.
-une variable objet (définie avec Set) est conservée en mémoire sauf
si on prévoit
de la libèrer Set myObj =Nothing
Quand j'ouvre un fichier Excel 2002 et execute une macro relativement
lourde, la macro s'éxecute à une vitesse raisonnable.
Si je relance la même macro, le temps d'execution peut-être multilp lié par 3
ou 4.
Existe t'il dans VBA une fonction à éxécuter avant de sortir des macro qui
permettrais de libérer la place occupée par les variables et ainsi libererait
de la mémoire ?
MsgBox montext1 MsgBox montext2 End If End Sub Sub test() On Error Resume Next If mavar Then MsgBox montext1 MsgBox montext2 End If On Error GoTo 0 End Sub ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
On 18 juin, 11:33, lSteph wrote:
Bonjour, - la portée d'une variable ordinaire s'arrête à End Sub. - une variable globale conserve sa valeur durant la session, sauf si un évennement interrompt comme par exemple la présence d'une instruction End ou la réinitialisation de code dans VBE. -une variable objet (définie avec Set) est conservée en mémoire sauf si on prévoit de la libèrer Set myObj =Nothing
lSteph
On 18 juin, 09:27, alain chatellier
wrote:
Bonjour, Voici mon problème :
Quand j'ouvre un fichier Excel 2002 et execute une macro relativement lourde, la macro s'éxecute à une vitesse raisonnable. Si je relance la même macro, le temps d'execution peut-être multilp lié par 3 ou 4.
Existe t'il dans VBA une fonction à éxécuter avant de sortir des macro qui permettrais de libérer la place occupée par les variables et ainsi libererait de la mémoire ?
Cordialement
lSteph
...oupss (j'ai oublié d'enlever un truc par rapport à mon exemple d'origine)
MsgBox montext1 MsgBox montext2 End If End Sub Sub test() On Error Resume Next If mavar Then MsgBox montext1 MsgBox montext2 End If On Error GoTo 0 End Sub ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
On 18 juin, 11:33, lSteph wrote:
Bonjour, - la portée d'une variable ordinaire s'arrête à End Sub. - une variable globale conserve sa valeur durant la session, sauf si un évennement interrompt comme par exemple la présence d'une instruction End ou la réinitialisation de code da ns VBE. -une variable objet (définie avec Set) est conservée en mémoire s auf si on prévoit de la libèrer Set myObj =Nothing
lSteph
On 18 juin, 09:27, alain chatellier
wrote:
Bonjour, Voici mon problème :
Quand j'ouvre un fichier Excel 2002 et execute une macro relativement lourde, la macro s'éxecute à une vitesse raisonnable. Si je relance la même macro, le temps d'execution peut-être multi lplié par 3 ou 4.
Existe t'il dans VBA une fonction à éxécuter avant de sortir de s macro qui permettrais de libérer la place occupée par les variables et ains i libererait de la mémoire ?
Cordialement
...oupss (j'ai oublié d'enlever un truc par rapport à mon exemple
d'origine)
MsgBox montext1
MsgBox montext2
End If
End Sub
Sub test()
On Error Resume Next
If mavar Then
MsgBox montext1
MsgBox montext2
End If
On Error GoTo 0
End Sub
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
On 18 juin, 11:33, lSteph <gmLSt...@gmail.com> wrote:
Bonjour,
- la portée d'une variable ordinaire s'arrête à End Sub.
- une variable globale conserve sa valeur durant la session, sauf si
un évennement interrompt comme par exemple
la présence d'une instruction End ou la réinitialisation de code da ns
VBE.
-une variable objet (définie avec Set) est conservée en mémoire s auf
si on prévoit
de la libèrer Set myObj =Nothing
Quand j'ouvre un fichier Excel 2002 et execute une macro relativement
lourde, la macro s'éxecute à une vitesse raisonnable.
Si je relance la même macro, le temps d'execution peut-être multi lplié par 3
ou 4.
Existe t'il dans VBA une fonction à éxécuter avant de sortir de s macro qui
permettrais de libérer la place occupée par les variables et ains i libererait
de la mémoire ?
MsgBox montext1 MsgBox montext2 End If End Sub Sub test() On Error Resume Next If mavar Then MsgBox montext1 MsgBox montext2 End If On Error GoTo 0 End Sub ''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
On 18 juin, 11:33, lSteph wrote:
Bonjour, - la portée d'une variable ordinaire s'arrête à End Sub. - une variable globale conserve sa valeur durant la session, sauf si un évennement interrompt comme par exemple la présence d'une instruction End ou la réinitialisation de code da ns VBE. -une variable objet (définie avec Set) est conservée en mémoire s auf si on prévoit de la libèrer Set myObj =Nothing
lSteph
On 18 juin, 09:27, alain chatellier
wrote:
Bonjour, Voici mon problème :
Quand j'ouvre un fichier Excel 2002 et execute une macro relativement lourde, la macro s'éxecute à une vitesse raisonnable. Si je relance la même macro, le temps d'execution peut-être multi lplié par 3 ou 4.
Existe t'il dans VBA une fonction à éxécuter avant de sortir de s macro qui permettrais de libérer la place occupée par les variables et ains i libererait de la mémoire ?