[Résolu]Variables globales qui ne se réinitialise pas...

Variables globales qui ne se réinitialise pas... [Résolu] - VB/VBA/VBS - Programmation

Marsh Posté le 09-02-2007 à 15:06:45    

Je rencontre quelques soucis pour manipuler des tableaux à deux dimensions.  
 
J'ai déclarer des tableaux comme ceci : monTab(100,1). Ils sont délcarer de façon globale mais je viens de m'apercevoir d'une chose :
 
Je lance ma macro une fois, monTab(0,1) contient la valeur 1. Je lance la macro une deuxième fois, monTab(0,1) vaut 2 etc... Si je ferme le classeur Excel et que je l'ouvre de nouveau, monTab(0,1) commence bien à 0.  
 
Dois-je en déduire qu'il faut faire une boucle qui intialise toutes les valeurs à 0 au début du programme ?


Message édité par skystef2 le 12-02-2007 à 16:24:26
Reply

Marsh Posté le 09-02-2007 à 15:06:45   

Reply

Marsh Posté le 09-02-2007 à 16:08:10    

Code :
  1. Dim Public monTab(100, 1) as Integer
  2.  
  3. Public Sub ViderTableau()
  4.  
  5.  
  6. Dim i, j as integer
  7.  
  8. For i = 0 to 100
  9.   For j = 0 to 1
  10.      monTab(i, j) = 0
  11.   Next j
  12. Next i
  13.  
  14. End Sub
  

Message cité 1 fois
Message édité par -ThX- le 09-02-2007 à 16:08:37
Reply

Marsh Posté le 12-02-2007 à 14:58:32    

-ThX- a écrit :

Code :
  1. Dim Public monTab(100, 1) as Integer
  2.  
  3. Public Sub ViderTableau()
  4.  
  5.  
  6. Dim i, j as integer
  7.  
  8. For i = 0 to 100
  9.   For j = 0 to 1
  10.      monTab(i, j) = 0
  11.   Next j
  12. Next i
  13.  
  14. End Sub



 
merci, je ferais comme ça...

Reply

Marsh Posté le 12-02-2007 à 15:36:53    

Bonjour à tous
Bonjour skystef2, -ThX-
 
Si je peux me permettre, pour remettre le tableau à rien, une deuxième solution :
 
Erase monTab
 
en début ou en fin de code, tout dépend de la suite du programme
 
A+

Reply

Marsh Posté le 12-02-2007 à 16:24:02    

eric455 a écrit :

Bonjour à tous
Bonjour skystef2, -ThX-
 
Si je peux me permettre, pour remettre le tableau à rien, une deuxième solution :
 
Erase monTab
 
en début ou en fin de code, tout dépend de la suite du programme
 
A+


 
 
En effet, c'est methode est radicale. Merci  ;)  
 

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed