recup des fichiers indexés

herve62

XLDnaute Barbatruc
Supporter XLD
Bonsoir
J'ai jamais utilisé ce genre de manip ! récupérer des variables ok , mais pas les tableaux !
Il faudrait que je récupère la liste des fichiers sélectionnés depuis l'usf
là j'ai fic(k) = "vide"
Dans la sub du bouton , j'ai vérifié j'ai bien mes fichiers dans fic(ind)
au retour Ind est toujours bon mais pas fic(k)
info : j'ai mis La listbox est en multisel.
 

Pièces jointes

  • testlistbox.xlsm
    15.9 KB · Affichages: 10

Dranreb

XLDnaute Barbatruc
Bonjour.
Vous avec déclaré fic(10) comme variable locale dans la Sub CommandButton1_Click !
Et dans Essai aussi d'ailleurs !
Par contre vous n'avez nulle part d'instruction Redim pour attribuer une dimension à la Public Fic().
Une variable locale peut porter le même nom qu'une variable globale voire Public, mais dans ce cas c'est la locale qui est employée, et comme toutes les variable locales, elle n'est conservée que le temps d'exécution de la procédure.
 
Dernière édition:

herve62

XLDnaute Barbatruc
Supporter XLD
Re merci
Mais bon , j'ai joins mon fichier .... alors que faut-il faire et ou ?
Je me suis inspiré d'exemple du web pour faire un Redim fic(ind) que j'ai mis
- dans essai : ça ne va pas
- à la fin de sub bouton : ça ne va pas
Je n'ai laissé que Public fic() , j'ai aussi testé en début module global fic()
Alors ?
 

Dranreb

XLDnaute Barbatruc
Au final je ferais à peu près comme ça :
Module1 :
VB:
Option Explicit
Public Chemin As String, TFic() As String
Sub Essai()
Dim N As Long
UserForm1.Show
For N = 1 To UBound(TFic)
   MsgBox Chemin & "\" & TFic(N) & " à récupérer", vbInformation, "Essai"
   Next N
End Sub
UserForm1 :
VB:
Option Explicit

Private Sub Box1_AfterUpdate()
Dim NMax As Long, NomFic
Chemin = Box1.Value
NomFic = Dir(Chemin & "\*.txt")
Do While Len(NomFic) > 0
   NMax = NMax = 1
   list_txt.AddItem NomFic
   NomFic = Dir()
   Loop
End Sub

Private Sub CommandButton1_Click()
Dim L As Long, N As Long
For L = 0 To list_txt.ListCount - 1
   If list_txt.Selected(L) Then
      N = N + 1: ReDim Preserve TFic(1 To N)
      TFic(N) = list_txt.List(L)
      End If: Next L
If N = 0 Then ReDim TFic(0 To 0)
Me.Hide
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 198
Messages
2 086 153
Membres
103 137
dernier inscrit
Billly