Perte d'une valeur dans un UserForm

[Résolu]
Signaler
Messages postés
33
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
23 mars 2007
-
Messages postés
33
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
23 mars 2007
-
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

Messages postés
1788
Date d'inscription
mardi 7 novembre 2000
Statut
Membre
Dernière intervention
11 mars 2006
25
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 82 internautes nous ont dit merci ce mois-ci

Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
2
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
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 82 internautes nous ont dit merci ce mois-ci

Messages postés
1447
Date d'inscription
jeudi 2 novembre 2000
Statut
Membre
Dernière intervention
23 septembre 2007
2
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
Messages postés
33
Date d'inscription
mardi 6 décembre 2005
Statut
Membre
Dernière intervention
23 mars 2007
3
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.