Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 18/11/2011, 15h51   #1
Futur Membre du Club
 
cedric
Inscription : novembre 2008
Messages : 43
Détails du profil
Informations personnelles :
Nom : cedric

Informations forums :
Inscription : novembre 2008
Messages : 43
Points : 17
Points : 17
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 :
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 :
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.
octane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2011, 16h31   #2
Membre Expert
 
Avatar de Jean-Pierre49
 
Homme J-Pierre Catherine
Conception Calcul
Inscription : juillet 2007
Messages : 659
Détails du profil
Informations personnelles :
Nom : Homme J-Pierre Catherine
Âge : 57
Localisation : France, Maine et Loire (Pays de la Loire)

Informations professionnelles :
Activité : Conception Calcul
Secteur : Industrie

Informations forums :
Inscription : juillet 2007
Messages : 659
Points : 1 856
Points : 1 856
Bonjour

as tu essayé

en tête de module

Code :
1
2
3
Option Explicit
    Public mois As Single
    Public annee As Single
cordialement
__________________
Jean-Pierre Pensez à Voter pour les réponses qui vous ont aidés, d'avance merci
---------Et n'oubliez pas de mettre : ..quand c'est le cas !---------
Jean-Pierre49 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2011, 16h48   #3
Futur Membre du Club
 
cedric
Inscription : novembre 2008
Messages : 43
Détails du profil
Informations personnelles :
Nom : cedric

Informations forums :
Inscription : novembre 2008
Messages : 43
Points : 17
Points : 17
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
octane est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/11/2011, 18h26   #4
Membre Expert
 
Homme
Retraité
Inscription : avril 2011
Messages : 692
Détails du profil
Informations personnelles :
Sexe : Homme
Localisation : France

Informations professionnelles :
Activité : Retraité

Informations forums :
Inscription : avril 2011
Messages : 692
Points : 1 443
Points : 1 443
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 :
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.
gFZT82 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 29/11/2011, 18h37   #5
Futur Membre du Club
 
cedric
Inscription : novembre 2008
Messages : 43
Détails du profil
Informations personnelles :
Nom : cedric

Informations forums :
Inscription : novembre 2008
Messages : 43
Points : 17
Points : 17
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
octane est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 08h17.


 
 
 
 
Partenaires

Hébergement Web