[VBA] Variable Publique

LeDénicheur Messages postés 565 Date d'inscription   Statut Membre Dernière intervention   -  
LeDénicheur Messages postés 565 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

J'ai un petit problème au niveau des déclarations dans mon programme VBA. Je vous explique le principe du programme. Je lance une userform dans laquelle je rentre la valeur d'une année (exemple : 2010 , stockée dans une variable définie PUBLIQUE dans tous les codes de chaque Userform utilisée). Ensuite, après avoir cliquer sur un bouton "Ok", cela ouvre une nouvelle userform, qui me demande de renseigner un nom dans une texte box. Ici j'aimerais que la textebox se mettre à jour à chaque changement en ajoutant l'année rentrée dans l'ancienne userform à la fin du texte. Néanmoins, il n'arrive pas à retrouver la valeur de "an" lorsqu'il ouvre la deuxième userform....

Public an As String
Public Sub colbox_Change()
colbox.Value = "" & colbox.Value & " " & an & ""
End Sub

Comment fonctionne ces fichus variables Public ? Merci d'avance.
Cordialement, LeDénicheur.

2 réponses

Paf
 
bonjour

une variable publique, pour être visible globalement, doit être déclarée au niveau d'un module (cf aide vba)

sinon il y a la possibilité de récupérer l'année (saisie dans une textbox?) de la première userform pour l'afficher dans la deuxième (:

exemple :
Private Sub UserForm_Initialize()
Me.Textbox12.Value  =  Userform1.Textbox8.Value
End Sub

Bonne suite
0
LeDénicheur Messages postés 565 Date d'inscription   Statut Membre Dernière intervention   365
 
Merci pour ces précisions. La déclaration des Userforms sous forme de Public Sub et le fait de déclarer Public les variables au sein meme d'une userform est donc inutile ?
Sinon je viens d'essayer avec ton exemple, à l'ouverture de la deuxième userform, il me dit que l'élément n'est pas définie.
Mais je viens de comprendre pourquoi....Un "Unload" c'était glissé deux lignes avant l'appel de la deuxième userform . . . .Ce qui rendait apparemment la variable inutilisable en dehors de la première userform..

Prenez le temps de bien rédiger vos questions, et nous prendrons le temps d'y répondre......Timmy ?!?
0
Paf
 
la notion de public est relative à son emplacement :
-au niveau de la userform, de la feuille ..
-au niveau projet ( module)
0
LeDénicheur Messages postés 565 Date d'inscription   Statut Membre Dernière intervention   365
 
D'accord, mais le fait que la variable soit public, cela veut-il dire que nous pouvons par l'exemple l'utiliser entre deux "End Sub". Si c'est le cas, quelle est l'interet de définir des fonctions avec des variables d'appel plutot que des Sub ?
0