im avoir des choses étranges se produisent avec un code dans ExcelUserform montrant quand pas voulu, pas appelé à
Private Sub CommandButton2_Click()
Dim thiswb As Workbook
Set thiswb = ActiveWorkbook
Call EnterDataToSS(thiswb)
Me.Hide
BeamNoFind.Show vbModal
End Sub
le code appelé tombe essentiellement des valeurs dans une feuille de calcul. Les valeurs restantes sont renseignées dans LISTBOX1 sur BeamNoFind Userform.
Ensuite, sur le formulaire utilisateur BeamNoFind, il y a un bouton et le LISTBOX1. Lorsque vous sélectionnez et un élément de listbox1 et cliquez sur le bouton, un troisième formulaire utilisateur s'ouvre (VBMODELESS) pour permettre le placement de la valeur.
ci-dessous est le code du bouton pour afficher la troisième forme d'utilisateur.
Private Sub CommandButton2_Click()
Dim Selected_Length As String
Dim Selected_Name As String
Dim Selected_Length_index As Integer
Selected_Length_index = BeamNoFind.ListBox1.ListIndex
With BeamNoFind.ListBox1
If .ListIndex > -1 Then
Selected_Name = .Column(0, .ListIndex)
Selected_Length = .Column(1, .ListIndex)
CellInputForm.beam_length_label.Caption = Selected_Name & " [ " & Selected_Length & " ] "
BeamNoFind.Hide
'ChngDataSrc.Hide
'Unload ChngDataSrc
CellInputForm.Show vbModeless
Else
MsgBox "No selection", vbExclamation, "Oops!"
End If
End With
End Sub
la chose étrange est, quand je clique sur le bouton pour afficher mon modeless userform, pour placer les données dans une cellule, la macro initiale est déclenchée que vous tombe dans la première userform. Où j'ai le code commenté 'ChngDataSrc.Hide' et 'Unload ChngDataSrc' sont mes tentatives d'arrêter l'affichage de l'utilisateur quand je ne le veux pas. Quand je décharger le formulaire, je puis obtenir une erreur au lieu de la forme d'affichage, l'erreur est avec la macro initiale:
Sub get_scheduling_data(control As IRibbonControl)
ChngDataSrc.Show
End Sub
Il a quelque chose à voir avec vbModeless parce que si je remplace « vbModeless » de « CellInputForm .Show vbModeless "ligne avec" vbModal ", il s'affiche correctement, sans le formulaire indésirable (ChngDataSrc). mais alors la fonction du formulaire (sélectionnez la cellule, appuyez sur le bouton OK, la valeur placée dans la cellule sélectionnée) a disparu.