La ca marche par contre ca sert a rien parceque forcement aucune données ne reste dans la listbox.
Workbooks.Open PathFeuil
Mais dès que je selectionne une ligne dans ma textBox ....
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionMe.listbox.clearqui me fait une erreur, si je souhaite regarder d'autre data il me met une autre erreur:
Que vient faire une textbox là-dedans ?
Explique !
If Me.DataView.RowSource = "" Then .RowSource = "B2:J19" End If
Private Sub ChargerData_Click() 'réinitialiser la listbox 'Me.DataView.Clear ' ne fonctionne pas : crée une erreur au 2eme appuis sur le bouton 'endroit ou chercher les datas PathFeuil = ThisWorkbook.Path & "\DataFours\F" & Me.TextBox2.Value & "DataSheet.xls" ' verifier que les données existent If Dir(PathFeuil, vbNormal) = "" Then MsgBox "Les données n'existent pas", vbExclamation, "Données introuvables" Exit Sub Else 'ouvre le wb contenant les datas Workbooks.Open PathFeuil Set wbCible = GetObject(PathFeuil) wbCible.Sheets("Data").Activate ' definit les datas pour la listbox (= DataView) With Me.DataView 'If Me.DataView.RowSource = "" Then ' si je le met: n'actualise plus la listbox et toujours erreur quand je clique sur ma listbox .RowSource = "B2:J19" 'End If .ListIndex = 0 End With 'ferme le wb ActiveWorkbook.Close False End If Set wbCible = Nothing End Sub
Le clear ne saurait s'appliquer, par définition, à un contrôle "lié" !
Ce n'est pas la listbox, dont il faut effacer le contenu, mais en modifier la source ou délier puis relier.
With Me.ListBox1 .RowSource = "A1:B2" .ColumnCount = 2 .ListIndex = 0 End With MsgBox ListBox1.ListCount With Me.ListBox1 .RowSource = "" .ColumnCount = 1 End With MsgBox ListBox1.ListCount With Me.ListBox1 .RowSource = "A5:c6" .ColumnCount = 3 .ListIndex = 0 End With MsgBox ListBox1.ListCount
Me.listbox1.RowSource = ""
Private Sub ChargerData_Click() 'réinitialiser la listbox Me.DataView.RowSource = "" Set MyBook = GetObject(ThisWorkbook.Path & "" & ThisWorkbook.Name) 'endroit ou chercher les datas PathFeuil = ThisWorkbook.Path & "\DataFours\F" & Me.TextBox2.Value & "DataSheet.xls" ' verifier que les données existent If Dir(PathFeuil, vbNormal) = "" Then MsgBox "Les données n'existent pas, ", vbExclamation, "Données introuvables" Exit Sub Else 'ouvre le wb contenant les datas Workbooks.Open PathFeuil Set wbCible = GetObject(PathFeuil) wbCible.Sheets("Data").Activate Range("B2:N19").Select Selection.Copy MyBook.Sheets("Temporaire").Activate Range("B2").Select ActiveSheet.Paste ' definit les datas pour la listbox (= DataView) With Me.DataView .RowSource = "Nitrure!B2:J19" .ListIndex = 0 End With 'permet de vider le presspapier Application.CutCopyMode = False 'ferme le wb wbCible.Close False End If Set wbCible = Nothing End Sub