Bonjour,
J'ai cherché désepérement et j'ai cru avoir une réponse mais.... non.
au milieu d'une macro, je cherche à utiliser un userform avec une liste déroulante et utiliser la réponse dans un autre module. A priori c'est tout bête : déclarer la variable en public, le sub en public et voila. Mais ma donnée, une fois le userform masquée n'est pas prise en compte dans mon module principal :
variable à conserver : ref_arti
code du userform :
Sub ok_article_Click()
ref_arti = Me.ref_art
ref_article.Hide
End Sub
module :
Public ref_arti As String
Sub valide_commande_Click()
Dim i As Integer
Dim Tbl() As String
Dim J As Integer
Dim article As String
Dim texte As String
Dim Rdm As String
'cherche les lignes du tableau contenant le numéro de commande saisie et sans numéro de série saisi
clig = Worksheets("stock rdm").Range("E" & Rows.Count).End(xlUp).Row
'affiche le userform avec ref_arti
ref_article.Show
For lig = 5 To clig
J = lig - 4
ReDim Preserve Tbl(1 To J)
article = "article"
If Cells(lig, 5) = Me.commande And Cells(lig, 5) = ref_arti And Cells(lig, 4) = "" Then
'ouvre un boite de dialogue pour saisir le numéro de série du RDM reçu et l'ajoute au tableau
Tbl(J) = Cells(lig, 6)
texte = article & Tbl(J)
patte:
Rdm = InputBox(texte, "attribution SN", vbOKOnly)
If Rdm = "" Then
pomme = MsgBox("Vous devez entrer numéro de série", vbOKCancel)
If pomme = "2" Then
Exit Sub
End If
GoTo patte
End If
quand je lance en mode pas à pas, ref_arti est bien attribué dans mon userform avant le "hide" mais est vide une fois que mon code principale reprend...
Merci d'avance!