Problème de récupération d'une variable créée par un userform dans un module
Pièce jointe 154744Bonjour à tous,
Je débute en VBA.
J'ai créé un UserForm dont le résultat est inséré dans une variable. J'ai déclaré la variable au début de la feuille avant les macros sous la forme Public. Cependant la valeur de la variable reste vide dans la macro, alors qu'elle évolue correctement dans l'UserForm.
Voici le code de l'UserForm :
Code:
1 2 3 4 5 6 7 8
| Public Valeure_propriete_machine As String
Private Sub CommandButton1_Click()
Valeure_propriete_machine = ComboBox1.Value
Unload UserForm_Machine
End Sub |
Et le code le macro récupérant la variable :
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 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43
| Sub Insertion_propriete_Machine()
'Renseigne la propriete Machine : Menus déroulants soit une machine choisie par l'utilisateur
If MsgBox("Souhaitez-vous appliquer une seule machine à l'ensemble des pièces et assemblages non resneignés ?", vbYesNoCancel + vbDefaultButton2, "Insertion de la propriété Désignation") = vbNo Then
Dim V3 As Integer
V3 = 12
While Cells(V3, 1) <> ""
Cells(V3, 12).Select
If Not ActiveCell <> "" Then
With Selection.Validation
.Delete
.Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=Listes_menus_deroulants!$A$2:$A$26" 'VOIR POUR INSERER VARIABLE
.IgnoreBlank = True
.InCellDropdown = True
.InputTitle = ""
.ErrorTitle = ""
.InputMessage = ""
.ErrorMessage = ""
.ShowInput = True
.ShowError = True
End With
End If
V3 = V3 + 1
Wend
Else
'Valeure_propriete_machine = InputBox("Indiqué la valeur appliqué", "Valeure de la propriété désignation")
UserForm_Machine.Show
Dim V4 As Integer
V4 = 12
While Cells(V4, 1) <> ""
Cells(V4, 12).Select
If Not ActiveCell <> "" Then
ActiveCell = Valeure_propriete_machine
End If
V4 = V4 + 1
Wend
End If
End Sub |
Je joins également le classeur.
Je vous remercie par avance.
Salutations.