Excel Downloads
Forum

Précédent   Excel Downloads Forums > Excel > Forum Excel


Réponse
 
LinkBack Outils de la discussion
Vieux 14/05/2006, 17h27   #1 (permalink)
barbara
Guest
 
Messages: n/a
Par défaut Emplacement des variables

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
  Réponse avec citation
ANNONCES
Vieux 14/05/2006, 17h46   #2 (permalink)
XLDnaute Barbatruc
 
Date d'inscription: février 2005
Messages: 3 099
Par défaut Re:Emplacement des variables

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:
Dim i AsInteger

Sub Macro1()

For i = 1 To Range('A1000').End(xlUp).Row
* * Cells(i, 2) = Cells(i, 1)
Next

EndSub

Sub Macro2()

MsgBox i

EndSub


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]
_Thierry est déconnecté   Réponse avec citation
Vieux 14/05/2006, 18h02   #3 (permalink)
barbara
Guest
 
Messages: n/a
Par défaut Re:Emplacement des variables

bonsoir Thierry, le forum,

En effet il m'avait bien semblé que parfois les manières de faire pouvaient différer...

merci pour ta réponse

bonne soirée

Barbara
  Réponse avec citation
ANNONCES
Réponse

Liens sociaux

Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +2. Il est actuellement 05h04.


(C) 2006 Excel Downloads