IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Problème Variable Public d'un Userform vers un Module [XL-2010]


Sujet :

Macros et VBA Excel

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2011
    Messages : 39
    Points : 28
    Points
    28
    Par défaut Problème Variable Public d'un Userform vers un Module
    Bonjour à tous,

    Je me permets d'écrire ce sujet car après moultes essais, je n'arrive pas à comprendre pourquoi ma variable ne passe pas d'un userform vers un module. Je vous remercie déjà par avance pour votre aide.

    Le programme est le suivant. J'ai un module dans lequel j'appelle l'Userform2 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Public Nbr_Reactif As Integer
    Public Inc As Integer
     
    Public Sub Calcul_Tab()
     
        UserForm2.Show
        Msgbox (Nbr_Reactif)
     
    End Sub
    J'ai déclaré ma variable Nbr_Réactif en Public mais lorsque que je sors de l'Userform pour afficher cette variable et m'en servir par la suite, la Msgbox m'affiche 0. Est-ce normal.
    L'userform comporte un bouton et le code lorsque je clique dessus est le suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    Public Nbr_Reactif As Integer
     
    Public Sub BoutonOK2_Click()
     
        Application.ScreenUpdating = False
     
     
        Dim Reponse As String
        Dim Auj As Date
        Dim i As Integer
        Dim j As Integer
     
        Nbr_Reactif = TextBox1.Value
        Reponse = MsgBox("Êtes-vous certain(e) de vouloir continuer avec " & Nbr_Reactif & " réactifs ?", vbYesNo, "Nombre de réactifs !")
     
        If Reponse = 6 Then
            Unload UserForm2
     
    End Sub
    Je nage depuis deux jours pour trouver la solution. Bien évidemment, il y a la solution ou on peut écrire la valeur dans une cellule et venir la récupérer, mais ce n'est pas le but ici, je cherche à comprendre pourquoi cela ne fonctionnne pas. Désolé pour la restriction de solutions, j'attends donc vos lumières en vous remerciant par avance pour le temps que vous passerez à me répondre,

    Bien cordialement à vous tous !

  2. #2
    Membre expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Points : 3 974
    Points
    3 974
    Par défaut
    Bonjour,

    Essaie après avoir supprimé la déclaration de la variable Nbr_Reactif dans le code de Userform2.

    Cordialement.

  3. #3
    Expert éminent sénior
    Avatar de Marc-L
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Avril 2013
    Messages
    9 468
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2013
    Messages : 9 468
    Points : 18 674
    Points
    18 674
    Par défaut
    Bonjour.

    Et dire qu'une variable publique n'est même pas nécessaire pour récupérer la saisie dans un UserForm vers un autre module …


    En effet, dans le code de l'UserForm, copier la ligne n°17 puis la remplacer parEnsuite dans le module, effectuer le coller en ligne n°8 puis modifier la ligne n°7 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox UserForm2.TextBox1.Value
    _______________________________________________________________________________

    Merci de cliquer sur pour chaque message ayant aidé puis sur pour clore cette discussion …

  4. #4
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2011
    Messages
    39
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2011
    Messages : 39
    Points : 28
    Points
    28
    Par défaut
    Bonjour Messieurs,

    Je vous remercie pour votre aide précieuse. J'ai pris la solution de gFZT82 où j'ai juste à supprimer une déclaration. En effet, je déclare deux fois la variable sans m'en rendre compte. Merci beaucoup. L'astuce de Marc marche relativement bien aussi.

    Merci pour votre réactivité.
    A bientôt

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2010] Problème de récupération d'une variable créée par un userform dans un module
    Par r.morel dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 26/08/2014, 17h21
  2. [AC-2003] problème variable public
    Par le méruvien dans le forum Access
    Réponses: 3
    Dernier message: 14/01/2014, 15h26
  3. [XL-2003] Problème variable public
    Par nonohzx dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 25/07/2012, 15h03
  4. Problème variable public vba
    Par benoi dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 18/12/2008, 12h06
  5. problème variable publique sur userform
    Par swissmade dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 12/08/2007, 06h36

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo