Filtré un listage de fichier

Résolu
lunnorey Messages postés 39 Date d'inscription dimanche 11 octobre 2009 Statut Membre Dernière intervention 9 mai 2015 - 24 nov. 2011 à 15:55
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 - 25 nov. 2011 à 13:22
Bonjour,

Je souhaiterai listé des fichiers dans un dossier. Mais des fichiers avec un certaine extension (.jpg).
J'ai commencé mais je but :
    'exemple
Dim dos_pho As String = "c:" 
    Dim fso, folder, files, NewFile, sourceFolder

    On Error Resume Next
        fso = CreateObject("Scripting.FileSystemObject")

        If dos_pho = "" Then
    'c'est vite fait
        Else

            folder = fso.GetFolder(dos_pho)
            files = folder.Files

            For Each folderIdx In files
                If Left(folderIdx.name, ".jpg", 4) Then
                    TextBox2.Text += folderIdx.name & vbCrLf
                Else
                End If
            Next

        End If


Le résultat me donne tous la liste de tous les fichiers dans le dossier mais je ne souhaite avoir que les ".jpg" .

Merci d'avance

8 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
24 nov. 2011 à 16:02
Bonjour,
Le résultat me donne tous la liste de tous les fichiers dans le dossier


voilà qui m'étonnerait énormément !
1)Left veut dire à gauche (pas à droite)..
donc :
je te laisse traduire cette expression conditionnelle
If Left(folderIdx.name, ".jpg", 4) Then

2)
TextBox2.Text += folderIdx.name & vbCrLf

ferait que seul un fichier (en admettant que certains COMMENCENT () par ".jpg") figurerait dans ta textbox.
Alors commence par dire le résultat vraiment atteint et non :
Le résultat me donne tous la liste de tous les fichiers dans le dossier mais je ne souhaite avoir que les ".jpg" .

que tu ne peux avoir aztteint ainsi !
____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
3
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
24 nov. 2011 à 16:06
Ah ! soius VB.Net, c'est vrai ==>> ignore alors mon point 2)
Le premier reste énormément valable !


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
24 nov. 2011 à 16:51
Et en outre :
Tu ne sais apparemment pas quelle est la syntaxe de la fonction Left (de surcroît non réellement conseillée sous VB.Net et qui n'y est présente que pour des question d'héritage de VB6)
Tu développes sous quoi ?


____________________
Réponse exacte ? => "REPONSE ACCEPTEE" pour faciliter les recherches d'autres forumeurs.
Pas d'aide en ligne installée ? ==> ne comptez pas sur moi pour simplement vous dire ce qu'elle contient
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
24 nov. 2011 à 19:25
Bonjour,

Quel est ton langage de dev ?
Car ton code ressemble plus à VB6 qu'à .NET.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ehjoe Messages postés 728 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 30 mars 2014 4
25 nov. 2011 à 09:42
Bonjou lunnorey,



Dim chemin = Environment.CurrentDirectory ' ou le chmin du fichier
Dim files = System.IO.Directory.GetFiles(chemin, "*.txt") ' l'extension
ListBox1.DataSource = files ' envoie dans listbox1


Cordialement, Joe.
0
lunnorey Messages postés 39 Date d'inscription dimanche 11 octobre 2009 Statut Membre Dernière intervention 9 mai 2015 3
25 nov. 2011 à 09:45
Merci pour vos réponse,
Je programme avec vb10, c'est pas facile car le vb6 est plus répandu et est différent.
Juste encore un petit point.
Je voudrai maitre dans un tableau son nom et son adresse . donc:
Dim tab_pho(folderIdx.Name, folderIdx.path)


et je voudrait ensuite l'afficher sur un listview mais je n'y arrive pas.
merci d'avance.
0
ehjoe Messages postés 728 Date d'inscription samedi 4 avril 2009 Statut Membre Dernière intervention 30 mars 2014 4
25 nov. 2011 à 09:47
NHenry,

C'est pas du vb6 !


Dim dos_pho As String= "c:"

Text Box 2.Text + =


Cordialement, Joe.
0
NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 159
25 nov. 2011 à 13:22
Bonjour,

D'accord, merci EhJoe, je n'avais pas vu ce détail.

Evites d'utiliser les COM quand tu es en .NET, il y a souvent moyen de s'en passer.

Regardes le commentaire de EhJoe du 25 novembre 2011 à 09:42:54
Et ensuite, regardes MSDN.

Quand tu développes en .NET, évites les sources VB6, elles te tromperont souvent sur le bon codage.

---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS, ce lien ou encore celui-ci[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list
---
Mon site
0
Rejoignez-nous