Perte de valeur numérique entre 2 userforms

Perte de valeur numérique entre 2 userforms - VB/VBA/VBS - Programmation

Marsh Posté le 29-11-2012 à 00:13:25    

Bonsoir.
 
J'ai besoin d'une aide svp pour garder une valeur numérique,  qui est par exemple reconnue dans UserForm1 et que je perds à l'ouverture d'un UserForm2. Ainsi, je ne peux plus amorcer une recherche dans UserForm2 puisque ma variable est à "0".
 
INFORMATIONS COMPLEMENTAIRES :
 
Ci-dessous, dans ma ligne de code, la colonne 0, dans une ListBox contenant plusieurs colonnes correspond à des valeurs numériques qui doivent me permettre d'accéder à des recherches en fonction du numéro d'opération.  
Chaque fois que je clique dans cette ListBox, ma valeur numérique est parfaitement reconnue. Par exemple "150".
Mon code sur ce passage spécifique est le suivant et fonctionne :
...
Dim NumOpération As Integer
...
NumOpération = ListBoxOpérations.Column(0,ListBoxOpérations.ListIndex)
...
 
Or, quand j'ouvre mon 2ème UserForm2 avec :
UserForm2.Show
Ma valeur NumOpération devient 0 au lieu d'être mémorisée à 150 ???
 
Merci de me dire ce qui m'empêche de garder cette valeur qui m'empêche de poursuivre mon programme.
 
AlainLi
 
Édité par Elmoricq : les titres en majuscules ne sont pas autorisés.


Message édité par Elmoricq le 29-11-2012 à 08:51:25
Reply

Marsh Posté le 29-11-2012 à 00:13:25   

Reply

Marsh Posté le 29-11-2012 à 09:10:55    

Bonjour AlainLi,
 
Tu as bien déclaré ta variable NumOpération comme une variable public ?

Reply

Marsh Posté le 29-11-2012 à 23:12:14    

Bsr.  
Non car je ne maîtrise pas cette déclaration de variable Public.  
Regarde ci-dessus, dans ma première ligne de code comment je l'ai déclarée ?
Où places-tu exactement cette déclaration de variable Public ? Dans la zone de code de UserForm1, UserForm2, ou ailleurs ?
 
Avec quel code précis ?
 
Merci pour ta réponse.
 
AlainLi

Reply

Marsh Posté le 30-11-2012 à 07:46:14    

Bonjour,
tu déclares ta variable dans le module où tu as mis le userform1.show par exemple.
Il faut que la déclaration soit tout en haut du module, avant la première sub() et tu la déclares de cette façon :

Code :
  1. Public NumOpération As Integer


 
De cette façon, tu y auras accès à partir de n'importe où.
S'il y a un problème, essaye en ajoutant le nom du module en préfixe à ta variable : Module1.NumOpération.


---------------
Bel ours Vave, je me dois de l’admettre. -Skyl"win"-  Mais toi tu es intelligent -Homerde- - Ce génie -SkylWINd- JDD S16M72 10:43:46 GMT-DTC +1
Reply

Marsh Posté le 30-11-2012 à 23:22:42    

Bonsoir oovaveoo
 
Je te remercie pour ta coopération. C'était ça ! Après quelques recherches, j'ai réussi à passer l'écueil.
Merci encore !!!

Reply

Sujets relatifs:

Leave a Replay

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