2017-07-13 4 views
0

Je suis aux prises avec un formulaire utilisateur VBA Excel.VBA listbox "sélectionnez" les éléments, mais reste avec une valeur de "", au hasard

explication rapide, j'ai 5 userform.listbox qui peut être soit rempli ou copié manuellement à partir d'un modèle généré à partir des étiquettes

quand j'utilise la macro pour copier le modèle, la zone de liste sont sélectionnés comme prévu, mais la valeur le fond reste "" pour 2 des 5 cases .... et pas toujours les mêmes. J'ai besoin de cliquer manuellement sur l'élément en surbrillance pour générer la valeur.

DD_ sont mes listbox,

EX_ sont mes étiquettes

Dim ValueNewShrink As String 
Dim ValueGroup As String 
Dim ValueType As String 
Dim ValuePayType As String 
Dim ValueGroupType As String 

ValueNewShrink = Validation.EX_NewShrink.Caption 
Validation.DD_NewShrink.Value = ValueNewShrink 

ValueGroup = Validation.EX_Group.Caption 
Validation.DD_Group.Value = ValueGroup 

ValueType = Validation.EX_Type.Caption 
Validation.DD_Type.Value = ValueType 

ValuePayType = Validation.EX_PayType.Caption 
Validation.DD_PayType.Value = ValuePayType 

ValueGroupType = Validation.EX_GroupType.Caption 
Validation.DD_GroupType.Value = ValueGroupType 

donc toujours 3 sur 5 œuvres,

2 ne renseignez la valeur, pas toujours les mêmes et quand je mets un point d'arrêt et ajouter une montre à analyser, l'EX_ .caption a du texte associé mais le DD_ .value = "", les 3 autres, ont la même légende, variable et valeur la chose étrange est, la bonne liste est sélectionnée sous ma forme .....

aidez s'il vous plaît!

Répondre

0

Puisque je n'étais pas en mesure d'identifier la raison, je cherche si elle est vide et si elle est im remplir avec l'étiquette.

If NewCodeFound.DD_NewShrink.Text <> "" Then 
Worksheets("Email new code").Range("C10").Value = NewCodeFound.DD_NewShrink.Text 
Else 
Worksheets("Email new code").Range("C10").Value = NewCodeFound.EX_NewShrink.Caption 
End If 


If NewCodeFound.DD_Group.Text <> "" Then 
Worksheets("Email new code").Range("D10").Value = NewCodeFound.DD_Group.Text 
Else 
Worksheets("Email new code").Range("D10").Value = NewCodeFound.EX_Group.Caption 
End If 

If NewCodeFound.DD_Type.Text <> "" Then 
Worksheets("Email new code").Range("E10").Value = NewCodeFound.DD_Type.Text 
Else 
Worksheets("Email new code").Range("E10").Value = NewCodeFound.EX_Type.Caption 
End If 

If NewCodeFound.DD_PayType.Text <> "" Then 
Worksheets("Email new code").Range("F10").Value = NewCodeFound.DD_PayType.Text 
Else 
Worksheets("Email new code").Range("F10").Value = NewCodeFound.EX_PayType.Caption 
End If 

If NewCodeFound.DD_GroupType.Text <> "" Then 
Worksheets("Email new code").Range("G10").Value = NewCodeFound.DD_GroupType.Text 
Else 
Worksheets("Email new code").Range("G10").Value = NewCodeFound.EX_GroupType.Caption 
End If