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 :
Et le code le macro récupérant la variable :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Je joins également le classeur.
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
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 vous remercie par avance.
Salutations.
Partager