Afin d'améliorer la rapidité des macros il est important de gérer le mode de
calcul.
En début de macro on passe en xlCalculationManual pour rétablir le
xlCalculationAutomatic en fin de macro.
Les experts que vous êtes, vous déclarez cette variable en String.
Sachant que celle-ci retourne -4135 puis revient à -4105, quel est
l'avantage technique à une déclaration en String ("-4135" puis "-4105")
plutôt qu'en Long (-4135 puis -4105) ?
Bonne fin de semaine
Michel (le seul qui s'accroche)
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
michdenis
Bonjour,
| vous déclarez cette variable en String
VBA est un langage permissif au niveau de la déclaration du type des variables. Excel tolère le type "String"...Cependant, je doute que cela ait un impact sur la rapidité d'une macro. Ce qui a surtout un impact sur la rapidité d'une macro est la non-déclaration du type de la variable, car cela oblige le programme a roulé à l'interne un petit script pour découvrir le type de la variable afin de lui réserver un espace mémoire suffisant pour son contenu.
En principe, les valeurs des constantes "xlCalculationManual" (-4135 (&HFFFFEFD9) "xlCalculationAutomatic" (-4105 (&HFFFFEFF7) et "xlCalculationSemiautomatic" (2) sont de type "Long" comme ta question le suggère.
Tu peux faire un petit test en utilisant ceci : X = TypeName(Application.Calculation) d'où X = Long
Excel regroupe ces 3 constantes dans un type "Enum" (voir l'aide d'Excel sur Enum) Dans la règle de l'art, on devrait déclarer une variable comme ceci :
Dim X as XlCalculation X = xlCalculationManual
Dans un module, efface "= xlCalculationManual" et tu tapes après le X le symbole et tu vois apparaître la liste des 3 constantes possibles.
MichD -------------------------------------------- "Péhemme" a écrit dans le message de groupe de discussion : 4d3176f0$0$5426$
Bonjour à Tous,
Afin d'améliorer la rapidité des macros il est important de gérer le mode de calcul. En début de macro on passe en xlCalculationManual pour rétablir le xlCalculationAutomatic en fin de macro. Les experts que vous êtes, vous déclarez cette variable en String. Sachant que celle-ci retourne -4135 puis revient à -4105, quel est l'avantage technique à une déclaration en String ("-4135" puis "-4105") plutôt qu'en Long (-4135 puis -4105) ?
Bonne fin de semaine Michel (le seul qui s'accroche)
Bonjour,
| vous déclarez cette variable en String
VBA est un langage permissif au niveau de la déclaration du type des variables.
Excel tolère le type "String"...Cependant, je doute que cela ait un impact sur
la rapidité d'une macro. Ce qui a surtout un impact sur la rapidité d'une macro
est la non-déclaration du type de la variable, car cela oblige le programme a roulé
à l'interne un petit script pour découvrir le type de la variable afin de lui réserver
un espace mémoire suffisant pour son contenu.
En principe, les valeurs des constantes "xlCalculationManual" (-4135 (&HFFFFEFD9)
"xlCalculationAutomatic" (-4105 (&HFFFFEFF7) et "xlCalculationSemiautomatic" (2)
sont de type "Long" comme ta question le suggère.
Tu peux faire un petit test en utilisant ceci :
X = TypeName(Application.Calculation) d'où X = Long
Excel regroupe ces 3 constantes dans un type "Enum" (voir l'aide d'Excel sur Enum)
Dans la règle de l'art, on devrait déclarer une variable comme ceci :
Dim X as XlCalculation
X = xlCalculationManual
Dans un module, efface "= xlCalculationManual" et tu tapes après le X le symbole et tu vois apparaître la liste des 3 constantes possibles.
MichD
--------------------------------------------
"Péhemme" a écrit dans le message de groupe de discussion : 4d3176f0$0$5426$ba4acef3@reader.news.orange.fr...
Bonjour à Tous,
Afin d'améliorer la rapidité des macros il est important de gérer le mode de
calcul.
En début de macro on passe en xlCalculationManual pour rétablir le
xlCalculationAutomatic en fin de macro.
Les experts que vous êtes, vous déclarez cette variable en String.
Sachant que celle-ci retourne -4135 puis revient à -4105, quel est
l'avantage technique à une déclaration en String ("-4135" puis "-4105")
plutôt qu'en Long (-4135 puis -4105) ?
Bonne fin de semaine
Michel (le seul qui s'accroche)
VBA est un langage permissif au niveau de la déclaration du type des variables. Excel tolère le type "String"...Cependant, je doute que cela ait un impact sur la rapidité d'une macro. Ce qui a surtout un impact sur la rapidité d'une macro est la non-déclaration du type de la variable, car cela oblige le programme a roulé à l'interne un petit script pour découvrir le type de la variable afin de lui réserver un espace mémoire suffisant pour son contenu.
En principe, les valeurs des constantes "xlCalculationManual" (-4135 (&HFFFFEFD9) "xlCalculationAutomatic" (-4105 (&HFFFFEFF7) et "xlCalculationSemiautomatic" (2) sont de type "Long" comme ta question le suggère.
Tu peux faire un petit test en utilisant ceci : X = TypeName(Application.Calculation) d'où X = Long
Excel regroupe ces 3 constantes dans un type "Enum" (voir l'aide d'Excel sur Enum) Dans la règle de l'art, on devrait déclarer une variable comme ceci :
Dim X as XlCalculation X = xlCalculationManual
Dans un module, efface "= xlCalculationManual" et tu tapes après le X le symbole et tu vois apparaître la liste des 3 constantes possibles.
MichD -------------------------------------------- "Péhemme" a écrit dans le message de groupe de discussion : 4d3176f0$0$5426$
Bonjour à Tous,
Afin d'améliorer la rapidité des macros il est important de gérer le mode de calcul. En début de macro on passe en xlCalculationManual pour rétablir le xlCalculationAutomatic en fin de macro. Les experts que vous êtes, vous déclarez cette variable en String. Sachant que celle-ci retourne -4135 puis revient à -4105, quel est l'avantage technique à une déclaration en String ("-4135" puis "-4105") plutôt qu'en Long (-4135 puis -4105) ?
Bonne fin de semaine Michel (le seul qui s'accroche)
Modeste
Bonsour®
"Péhemme" a écrit
En début de macro on passe en xlCalculationManual pour rétablir le xlCalculationAutomatic en fin de macro. Les experts que vous êtes, vous déclarez cette variable en String.
??? Xlcalculation est une collection de constantes et ces constantes sont définies dans : Microsoft Office XX.Y Object Library on ne peut redéfinir les constantes globales...
Bonsour®
"Péhemme" a écrit
En début de macro on passe en xlCalculationManual pour rétablir le
xlCalculationAutomatic en fin de macro.
Les experts que vous êtes, vous déclarez cette variable en String.
???
Xlcalculation est une collection de constantes
et ces constantes sont définies dans : Microsoft Office XX.Y Object Library
on ne peut redéfinir les constantes globales...
En début de macro on passe en xlCalculationManual pour rétablir le xlCalculationAutomatic en fin de macro. Les experts que vous êtes, vous déclarez cette variable en String.
??? Xlcalculation est une collection de constantes et ces constantes sont définies dans : Microsoft Office XX.Y Object Library on ne peut redéfinir les constantes globales...
Péhemme
Merci Denis pour cette explication. Je poursuis mon apprentissage... Bien amicalement Michel
"michdenis" a écrit dans le message de news:igs53f$put$
Bonjour,
| vous déclarez cette variable en String
VBA est un langage permissif au niveau de la déclaration du type des variables. Excel tolère le type "String"...Cependant, je doute que cela ait un impact sur la rapidité d'une macro. Ce qui a surtout un impact sur la rapidité d'une macro est la non-déclaration du type de la variable, car cela oblige le programme a roulé à l'interne un petit script pour découvrir le type de la variable afin de lui réserver un espace mémoire suffisant pour son contenu.
En principe, les valeurs des constantes "xlCalculationManual" (-4135 (&HFFFFEFD9) "xlCalculationAutomatic" (-4105 (&HFFFFEFF7) et "xlCalculationSemiautomatic" (2) sont de type "Long" comme ta question le suggère.
Tu peux faire un petit test en utilisant ceci : X = TypeName(Application.Calculation) d'où X = Long
Excel regroupe ces 3 constantes dans un type "Enum" (voir l'aide d'Excel sur Enum) Dans la règle de l'art, on devrait déclarer une variable comme ceci :
Dim X as XlCalculation X = xlCalculationManual
Dans un module, efface "= xlCalculationManual" et tu tapes après le X le symbole > et tu vois apparaître la liste des 3 constantes possibles.
MichD -------------------------------------------- "Péhemme" a écrit dans le message de groupe de discussion : 4d3176f0$0$5426$
Bonjour à Tous,
Afin d'améliorer la rapidité des macros il est important de gérer le mode de calcul. En début de macro on passe en xlCalculationManual pour rétablir le xlCalculationAutomatic en fin de macro. Les experts que vous êtes, vous déclarez cette variable en String. Sachant que celle-ci retourne -4135 puis revient à -4105, quel est l'avantage technique à une déclaration en String ("-4135" puis "-4105") plutôt qu'en Long (-4135 puis -4105) ?
Bonne fin de semaine Michel (le seul qui s'accroche)
Merci Denis pour cette explication.
Je poursuis mon apprentissage...
Bien amicalement
Michel
"michdenis" <michdenis@hotmail.com> a écrit dans le message de
news:igs53f$put$1@speranza.aioe.org...
Bonjour,
| vous déclarez cette variable en String
VBA est un langage permissif au niveau de la déclaration du type des
variables.
Excel tolère le type "String"...Cependant, je doute que cela ait un impact
sur
la rapidité d'une macro. Ce qui a surtout un impact sur la rapidité d'une
macro
est la non-déclaration du type de la variable, car cela oblige le
programme a roulé
à l'interne un petit script pour découvrir le type de la variable afin de
lui réserver
un espace mémoire suffisant pour son contenu.
En principe, les valeurs des constantes "xlCalculationManual" (-4135
(&HFFFFEFD9)
"xlCalculationAutomatic" (-4105 (&HFFFFEFF7) et
"xlCalculationSemiautomatic" (2)
sont de type "Long" comme ta question le suggère.
Tu peux faire un petit test en utilisant ceci :
X = TypeName(Application.Calculation) d'où X = Long
Excel regroupe ces 3 constantes dans un type "Enum" (voir l'aide d'Excel
sur Enum)
Dans la règle de l'art, on devrait déclarer une variable comme ceci :
Dim X as XlCalculation
X = xlCalculationManual
Dans un module, efface "= xlCalculationManual" et tu tapes après le X le
symbole > et tu vois apparaître la liste des 3 constantes possibles.
MichD
--------------------------------------------
"Péhemme" a écrit dans le message de groupe de discussion :
4d3176f0$0$5426$ba4acef3@reader.news.orange.fr...
Bonjour à Tous,
Afin d'améliorer la rapidité des macros il est important de gérer le mode
de
calcul.
En début de macro on passe en xlCalculationManual pour rétablir le
xlCalculationAutomatic en fin de macro.
Les experts que vous êtes, vous déclarez cette variable en String.
Sachant que celle-ci retourne -4135 puis revient à -4105, quel est
l'avantage technique à une déclaration en String ("-4135" puis "-4105")
plutôt qu'en Long (-4135 puis -4105) ?
Bonne fin de semaine
Michel (le seul qui s'accroche)
Merci Denis pour cette explication. Je poursuis mon apprentissage... Bien amicalement Michel
"michdenis" a écrit dans le message de news:igs53f$put$
Bonjour,
| vous déclarez cette variable en String
VBA est un langage permissif au niveau de la déclaration du type des variables. Excel tolère le type "String"...Cependant, je doute que cela ait un impact sur la rapidité d'une macro. Ce qui a surtout un impact sur la rapidité d'une macro est la non-déclaration du type de la variable, car cela oblige le programme a roulé à l'interne un petit script pour découvrir le type de la variable afin de lui réserver un espace mémoire suffisant pour son contenu.
En principe, les valeurs des constantes "xlCalculationManual" (-4135 (&HFFFFEFD9) "xlCalculationAutomatic" (-4105 (&HFFFFEFF7) et "xlCalculationSemiautomatic" (2) sont de type "Long" comme ta question le suggère.
Tu peux faire un petit test en utilisant ceci : X = TypeName(Application.Calculation) d'où X = Long
Excel regroupe ces 3 constantes dans un type "Enum" (voir l'aide d'Excel sur Enum) Dans la règle de l'art, on devrait déclarer une variable comme ceci :
Dim X as XlCalculation X = xlCalculationManual
Dans un module, efface "= xlCalculationManual" et tu tapes après le X le symbole > et tu vois apparaître la liste des 3 constantes possibles.
MichD -------------------------------------------- "Péhemme" a écrit dans le message de groupe de discussion : 4d3176f0$0$5426$
Bonjour à Tous,
Afin d'améliorer la rapidité des macros il est important de gérer le mode de calcul. En début de macro on passe en xlCalculationManual pour rétablir le xlCalculationAutomatic en fin de macro. Les experts que vous êtes, vous déclarez cette variable en String. Sachant que celle-ci retourne -4135 puis revient à -4105, quel est l'avantage technique à une déclaration en String ("-4135" puis "-4105") plutôt qu'en Long (-4135 puis -4105) ?
Bonne fin de semaine Michel (le seul qui s'accroche)
Péhemme
Désolé Gilbert, j'ai effectivement été "elliptique" dans la formulation de ma question. J'évoquai une variable nommée (ModCal par exemple) servant à stocker la position initiale de calcul à la macro qui commence par une mise systématique du système de calcul en manuel. Puis à la fin de la macro de remettre le mode de calcul tel que la variable (ici ModCal) l'a stocké avant le déroulement de ladite macro. Denis m'a fort bien compris (lui !) malgré mon imprécision ;-)). Merci de ta réponse Bien amicalement Michel
"Modeste" a écrit dans le message de news:4d319d16$0$26045$
Bonsour®
"Péhemme" a écrit
En début de macro on passe en xlCalculationManual pour rétablir le xlCalculationAutomatic en fin de macro. Les experts que vous êtes, vous déclarez cette variable en String.
??? Xlcalculation est une collection de constantes et ces constantes sont définies dans : Microsoft Office XX.Y Object Library on ne peut redéfinir les constantes globales...
Désolé Gilbert, j'ai effectivement été "elliptique" dans la formulation de
ma question.
J'évoquai une variable nommée (ModCal par exemple) servant à stocker la
position initiale de calcul à la macro qui commence par une mise
systématique du système de calcul en manuel.
Puis à la fin de la macro de remettre le mode de calcul tel que la variable
(ici ModCal) l'a stocké avant le déroulement de ladite macro.
Denis m'a fort bien compris (lui !) malgré mon imprécision ;-)).
Merci de ta réponse
Bien amicalement
Michel
"Modeste" <nomail@live.fr> a écrit dans le message de
news:4d319d16$0$26045$426a34cc@news.free.fr...
Bonsour®
"Péhemme" a écrit
En début de macro on passe en xlCalculationManual pour rétablir le
xlCalculationAutomatic en fin de macro.
Les experts que vous êtes, vous déclarez cette variable en String.
???
Xlcalculation est une collection de constantes
et ces constantes sont définies dans : Microsoft Office XX.Y Object
Library
on ne peut redéfinir les constantes globales...
Désolé Gilbert, j'ai effectivement été "elliptique" dans la formulation de ma question. J'évoquai une variable nommée (ModCal par exemple) servant à stocker la position initiale de calcul à la macro qui commence par une mise systématique du système de calcul en manuel. Puis à la fin de la macro de remettre le mode de calcul tel que la variable (ici ModCal) l'a stocké avant le déroulement de ladite macro. Denis m'a fort bien compris (lui !) malgré mon imprécision ;-)). Merci de ta réponse Bien amicalement Michel
"Modeste" a écrit dans le message de news:4d319d16$0$26045$
Bonsour®
"Péhemme" a écrit
En début de macro on passe en xlCalculationManual pour rétablir le xlCalculationAutomatic en fin de macro. Les experts que vous êtes, vous déclarez cette variable en String.
??? Xlcalculation est une collection de constantes et ces constantes sont définies dans : Microsoft Office XX.Y Object Library on ne peut redéfinir les constantes globales...