Lister fichier sans extension

dhiouf

XLDnaute Occasionnel
Salut tous le monde,

Pour lister les fichiers dans un combobox j'ai le code suivant :

Code:
Function FichierExiste(NomFichier As String) As Boolean
    FichierExiste = Dir(NomFichier) <> "" And NomFichier <> ""
End Function

Private Sub Workbook_Activate()

Worksheets(1).ComboBox1.Clear
If FichierExiste("C:\Program Files\Dépenses\sauve\*.ini") Then

Dim MyFile, MyPath, MyName

' Affiche les noms représentant des
' fichiers .ini
MyPath = "c:\Program Files\Dépenses\sauve\*.ini" ' Définit le chemin d'accès.
' Extrait la première entrée.
MyName = Dir(MyPath)

Do While MyName <> "" ' Commence la boucle tant qu'il trouve des .ini

Worksheets(1).ComboBox1.AddItem MyName 'ajoute dans la combobox

MyName = Dir ' Extrait l'entrée suivante.

Loop

Worksheets(1).ComboBox1.ListIndex = -1
End Sub
Mon problème que les fichiers sont lister dans le combobox avec leur extension, est-il possible de les lister sans extension.
Merci d'avance
 

vmatthieu

XLDnaute Occasionnel
Re : Lister fichier sans extension

bonsoir,
peut être une réponse un peu bateau mais bon..
tu remets le nom du fichier *.ini dans une variable string
avec instr tu cherche la position du point
avec mid tu prends la partie du nom jusqu'au point -1
et tu ajoute ensuite ce nom à ta combobox
je pense que je ne dis pas trop de bêtise mais bon ...
bonne soirée
 

dhiouf

XLDnaute Occasionnel
Re : Lister fichier sans extension

bonsoir,
peut être une réponse un peu bateau mais bon..
tu remets le nom du fichier *.ini dans une variable string
avec instr tu cherche la position du point
avec mid tu prends la partie du nom jusqu'au point -1
et tu ajoute ensuite ce nom à ta combobox
je pense que je ne dis pas trop de bêtise mais bon ...
bonne soirée

Bonsoir vmatthieu,
j'ai pas bien compris votre réponse, pouvez-vous modifier mon code ?
 

laurent950

XLDnaute Accro
Re : Lister fichier sans extension

Bonsoir,

' Extrait la première entrée.
MyName = split(Dir(MyPath),".")(0)
OU
MyName = Split(Dir(MyPath, vbDirectory), ".")(0)

Je sais pas si cela fonctionne a tester

laurent
 
Dernière édition:

dhiouf

XLDnaute Occasionnel
Re : Lister fichier sans extension

Bonsoir laurent950,
Merci pour votre réponse, ça fonctionne

Excusé moi, ça fonctionne avec un seule fichier, mais si j'ai plus d'un fichier dans le répertoire, le premier est lister dans le combo sans extension mais les autres avec extension

ex: fichiers lister dans le combo :
depenses-2011
depenses-2012.ini
depenses-2013.ini
 

laurent950

XLDnaute Accro
Re : Lister fichier sans extension

Un essaie comme cela :

Function FichierExiste(NomFichier As String) As Boolean
FichierExiste = Dir(NomFichier) <> "" And NomFichier <> ""
End Function

Private Sub Workbook_Activate()

Worksheets(1).ComboBox1.Clear
If FichierExiste("C:\Program Files\Dépenses\sauve\*.ini") Then

Dim MyFile, MyPath, MyName

' Affiche les noms représentant des
' fichiers .ini
MyPath = "c:\Program Files\Dépenses\sauve\*.ini" ' Définit le chemin d'accès.
' Extrait la première entrée.
MyName = Dir(MyPath)

Do While MyName <> "" ' Commence la boucle tant qu'il trouve des .ini

t = Split(MyName, ".")
' Explication decoupage de MyName en tableau "t"
' puis on prend le premier element du tableau t(0)

Worksheets(1).ComboBox1.AddItem t(0) 'ajoute dans la combobox

MyName = Dir ' Extrait l'entrée suivante.

Loop

Worksheets(1).ComboBox1.ListIndex = -1
End Sub

Cela devrait être bon

Laurent
 

dhiouf

XLDnaute Occasionnel
Re : Lister fichier sans extension

Un essaie comme cela :

Function FichierExiste(NomFichier As String) As Boolean
FichierExiste = Dir(NomFichier) <> "" And NomFichier <> ""
End Function

Private Sub Workbook_Activate()

Worksheets(1).ComboBox1.Clear
If FichierExiste("C:\Program Files\Dépenses\sauve\*.ini") Then

Dim MyFile, MyPath, MyName

' Affiche les noms représentant des
' fichiers .ini
MyPath = "c:\Program Files\Dépenses\sauve\*.ini" ' Définit le chemin d'accès.
' Extrait la première entrée.
MyName = Dir(MyPath)

Do While MyName <> "" ' Commence la boucle tant qu'il trouve des .ini

t = Split(MyName, ".")
' Explication decoupage de MyName en tableau "t"
' puis on prend le premier element du tableau t(0)

Worksheets(1).ComboBox1.AddItem t(0) 'ajoute dans la combobox

MyName = Dir ' Extrait l'entrée suivante.

Loop

Worksheets(1).ComboBox1.ListIndex = -1
End Sub

Cela devrait être bon

Laurent

Merci pour votre réponse, ça fonctionne
 

Discussions similaires

S
Réponses
4
Affichages
681
Sylvain
S

Statistiques des forums

Discussions
311 720
Messages
2 081 910
Membres
101 837
dernier inscrit
Ugo