Perte d'une valeur dans un UserForm

Résolu
lenemmasque Messages postés 33 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 23 mars 2007 - 23 févr. 2006 à 16:24
lenemmasque Messages postés 33 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 23 mars 2007 - 24 févr. 2006 à 08:51
Bonjour à tout le monde !

Je vous explique ma situation : J'ai crée un UserForm avec un bouton.
Voici mes lignes de programme :
Private Sub UserForm_Initialize()
a = 1
End Sub

Private Sub Button1_Click()
MsgBox a
End Sub

Voilà, ça paraît tout bête, mais le problème est que quand ma MsgBox s'affiche, elle ne contient aucune valeur, alors qu'elle devrait m'afficher "1". Comme si la valeur de "a" s'était perdue en route...

Pouvez-vous m'expliquer ce qui se passe ?

D'avance merci.

4 réponses

jpleroisse Messages postés 1788 Date d'inscription mardi 7 novembre 2000 Statut Membre Dernière intervention 11 mars 2006 27
23 févr. 2006 à 18:32
Bonsoir,

tu as deux solutions,

1)Private Sub Button1_Click()

Dim a

a = 1

MsgBox a

End Sub



ou,

Option Explicit

Public a As Integer



Private Sub Button1_Click()

a = 1

MsgBox a

End Sub



jpleroisse



Si une réponse vous convient, cliquez Réponse Acceptée.
3
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
23 févr. 2006 à 20:10
En fait ta variable est déclaré dans une procédure et tu veux la récupérer depuis une autre, seulement comme ta variable est déclarée dans une procédure à la fin de cette même procédure elle "meurt" donc comme t'a montré jpleroisse sois tu affiche al variable dans la même procédure (avant qu'elle "meure") ou tu rends la variable acessible à toutes les procédures autrement dit "publique".

Voilà

Redman
3
OneHacker Messages postés 1447 Date d'inscription jeudi 2 novembre 2000 Statut Membre Dernière intervention 23 septembre 2007 2
23 févr. 2006 à 20:10
En fait ta variable est déclaré dans une procédure et tu veux la récupérer depuis une autre, seulement comme ta variable est déclarée dans une procédure à la fin de cette même procédure elle "meurt" donc comme t'a montré jpleroisse sois tu affiche al variable dans la même procédure (avant qu'elle "meure") ou tu rends la variable acessible à toutes les procédures autrement dit "publique".

Voilà

Redman
0
lenemmasque Messages postés 33 Date d'inscription mardi 6 décembre 2005 Statut Membre Dernière intervention 23 mars 2007 3
24 févr. 2006 à 08:51
Ok merci ! En fait, le problème n'était pas tant d'afficher la variable "a" que de comprendre pourquoi elle se "perdait" en route. Maintenant, j'ai compris.
0
Rejoignez-nous