![]() |
|
Forum
|
|
|
#1 (permalink) |
|
Guest
Messages: n/a
|
bonjour le forum,
J'ai une question théorique. Ne m'essayant au vba que depuis peu de temps, je m'applique à déclarer mes variables au niveau de la procédure (je ne parle pas des variables qui interférent entre différents modules) mais en regardant parfois certains codes, pas mal de monde déclare ses variables en tête de module ce qui est plus rapide Ce que jaurais aimé savoir, c'est si cela est neutre au niveau des temps de traitement et des risques d'interférence entre variables. bonne fin de WE Barbara |
|
| ANNONCES | |||
|
|
|
|
#2 (permalink) | |
|
XLDnaute Barbatruc
Date d'inscription: février 2005
Messages: 3 099
|
Bonjour Barbara, le Forum
Non, absolument défendu ! D'ailleurs j'ai pu voir que quelques fois tu as pris en référence des démos que j'avais réalisées, et de par conséquent tu as dû te rendre compte que je déclare toutes mes Variables à l'Intérieur des Subs où des Functions. (Sauf si elles doivent avoir une Portée Publique, bien entendu) Pourquoi ? 1) Durée de Vie et Espace Mémoire Leur durée de Vie n'est que celle de l'éxécution du Code, l'Espace mémoire et ainsi libéré. 2) Portée et Interférence Une déclaration de Variable en Top de Module pour faire bien des Surprises (et des cheveux blanc pendant le développement)... En effet, la Variable n'étant pas 'Purgée' par le Point 1) si dessus, elle conserve sa valeur, ce qui peut être très désobligeant lors d'une seconde Sub qui retrouvera par Exemple son 'i' as Integer déjà alimenté d'une Valeur de la Boucle Précédante... Exemple : ![]() Citation:
Soit c'est volontaire, et on veut récupérer le 'i'... mais bon attention... Si ce n'est pas volontaire, on est 'marron' Bon Dimanche [ol]@+Thierry[/ol] |
|
|
|
|
![]() |
| Liens sociaux |
| Outils de la discussion | |
|
|