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 :

Probleme passage de valeur variable de inputform à macro (variable declarée dans macro) [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Points : 41
    Points
    41
    Par défaut Probleme passage de valeur variable de inputform à macro (variable declarée dans macro)
    Bonjour,
    J'ai un probleme pour utiliser dans un inputform une variable appelée dans une macro.
    La valeur que j'ai donnée à la variable annee, mois et Gas n'est pas reconnu dans ma macro .

    Le code de la marco appelant l'inputform est :

    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
    20
    21
    22
    23
    24
    25
    26
     
    Sub Majlivraison()
     
        Dim mois As Single
        Dim annee As Single
        Dim Gas As String
        Dim icol As Integer 'Compteur de ligne
     
        Dim LastLig As Long
        Dim LastLig2 As Long
        Dim LastLig3 As Long
     
        Dim sh As Worksheet
        Dim sh2 As Worksheet
     UserForm1.Show
     
       Set sh = Worksheets("Base")
       Set sh2 = Worksheets("2011 livraison")
       LastLig = Worksheets("2011 livraison").Cells(Worksheets("2011 livraison").Rows.Count, "A").End(xlUp).Row
       icol = 2
     
    MsgBox "valeur M " & mois & " et A " & annee & " et icol" & icol, vbOKOnly + vbInformation
    'je coupe sinon c'est trop long je passe directment a la fin du code
     
    Unload UserForm1
    End Sub
    Voici le code de l'inputform (inputform1)
    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
     
    Private Sub ComboBox1_Change()
    ComboBox1.ColumnCount = 1
      ComboBox1.List() = Array("Oui", "Non")
      Gas = ComboBox1
    End Sub
     
    Private Sub CommandButton2_Click()
    MsgBox "valeur M " & mois & " et A " & annee
    UserForm1.Hide
    End Sub
     
     
    Private Sub TextBox1_Change()
    mois = TextBox1.Value
    End Sub
     
    Private Sub TextBox2_Change()
    annee = TextBox2.Value
    End Sub
     
    Private Sub UserForm_Initialize()
    TextBox1 = Month(Now) - 1
    TextBox2 = Year(Now)
    ComboBox1 = "Non"
    mois = TextBox1.Value
    annee = TextBox2.Value
    End Sub
    J'ai fait avec des Msgbox mais les valeurs des variables annee et mois sont vide que ce soit dans le userform ou dans la macro....
    Please help.

  2. #2
    Membre chevronné Avatar de Jean-Pierre49
    Homme Profil pro
    Retraité
    Inscrit en
    Juillet 2007
    Messages
    659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2007
    Messages : 659
    Points : 2 056
    Points
    2 056
    Par défaut
    Bonjour

    as tu essayé

    en tête de module

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Option Explicit
        Public mois As Single
        Public annee As Single
    cordialement

  3. #3
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Points : 41
    Points
    41
    Par défaut
    oui cela ne change rien. c ok dans l'inputform où j'ai ajouté un Msgbox pour controler la valeur de annee et mois, mais dans la macro la valeur est vide (egalement Msgbox), comme si la valeur entree en Txtbox n'etait pas reconnue

  4. #4
    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,

    J’ai testé ton code et je n’ai pas rencontré de problème.
    J’ai placé la procédure Majlivraison dans un module standard avec les 4 variables Public.

    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
    Option Explicit
    Public mois As Single
    Public annee As Single
    Public icol As Integer
    Public Gas As String
    Sub Majlivraison()
    Dim LastLig As Long
    Dim LastLig2 As Long
    Dim LastLig3 As Long
    Dim sh As Worksheet
    Dim sh2 As Worksheet
        UserForm1.Show
        Set sh = Worksheets("Base")
        Set sh2 = Worksheets("2011 livraison")
        LastLig = Worksheets("2011 livraison").Cells(Worksheets("2011 livraison").Rows.Count, "A").End(xlUp).Row
        icol = 2
        MsgBox "Valeur M : " & mois & Chr(10) & "Valeur A : " & annee & Chr(10) & "Valeur icol : " & icol, vbOKOnly + vbInformation
        Unload UserForm1
    End Sub
    Pas de changement dans le code de l’userform.

    Cordialement.

  5. #5
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    48
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 48
    Points : 41
    Points
    41
    Par défaut
    Effectivement j'ai vu a quoi c etait du.
    Je faisais un Unload UserForm1 avant d'utiliser les variables. Pour eviter ca je le hide et je le ferme qu'en fin de macro.
    Merci pour ton aide

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

Discussions similaires

  1. Nom du serveur et nom de l'utilisateur dans macro-variables
    Par delph_le dans le forum Administration et Installation
    Réponses: 2
    Dernier message: 04/11/2014, 22h03
  2. Récupération valeur fonction dans macro-variable
    Par Filippo dans le forum Macro
    Réponses: 9
    Dernier message: 18/01/2010, 10h14
  3. Présence caractère dans macro variable
    Par jdesert dans le forum Macro
    Réponses: 3
    Dernier message: 07/05/2009, 14h42
  4. Quote dans macro-variable
    Par fafabzh6 dans le forum Macro
    Réponses: 3
    Dernier message: 23/04/2009, 17h39
  5. Racine carrée dans macro variable
    Par fafabzh6 dans le forum Macro
    Réponses: 2
    Dernier message: 13/05/2008, 20h27

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