Sélection de fichiers avec OpenFileDialog et textbox (Visual Basic 2010) [Résolu]

cs_warberzz 9 Messages postés vendredi 6 août 2010Date d'inscription 9 août 2010 Dernière intervention - 8 août 2010 à 18:38 - Dernière réponse : cs_warberzz 9 Messages postés vendredi 6 août 2010Date d'inscription 9 août 2010 Dernière intervention
- 9 août 2010 à 11:03
Bonjour tout le monde !!

La je suis sous Visual Basic 2010.
Je cherche à créer une application ou je peux sélectionner plusieurs fichiers, puis ou une fois les fichiers sélectionnés, que leur chemin s'affiche dans une textbox (l'explorateur est affiché grâce à un bouton à coté de la textbox).

En gros, voilà le bout de code :


Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        OpenFileDialog1.Multiselect = True
        OpenFileDialog1.Title = "Sélectionnez un ou plusieurs fichiers"
        OpenFileDialog1.Filter = "Images (*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|" + "Images (*. BMP, *. JPG, *. GIF) | *. bmp, *. JPG, *. GIF |» + _" + "Tous les fichiers (*.*)|*.*"
        OpenFileDialog1.SupportMultiDottedExtensions = True
        OpenFileDialog1.FileNames.(TextBox1.Text) 'ici il y a une erreur, mais je ne sais pas comment m'en sortir... il me dit "Identificateur attendu"
        OpenFileDialog1.ShowDialog()
    End Sub



Merci a TOUS !! :)
Afficher la suite 

Votre réponse

6 réponses

Meilleure réponse
NSUADI 540 Messages postés mardi 4 août 2009Date d'inscription 1 février 2013 Dernière intervention - 8 août 2010 à 23:44
3
Merci
Tu ajouteras donc le bout de code suivant dans ton code déjà existant:
 
 For Each file In .FileNames
 TextBox1.AppendText(file + vbCrLf)
 Next


tu auras donc ceci:

 With OpenFileDialog1
            .Multiselect = True
            .Title = "Sélectionnez un ou plusieurs fichiers"
            .Filter = "Images (*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|" + "Images (*. BMP, *. JPG, *. GIF) | *. bmp, *. JPG, *. GIF |» + _" + "Tous les fichiers (*.*)|*.*"
            .SupportMultiDottedExtensions = True
            .ShowDialog()
            'TextBox1.Text = .FileName '+ vbCrLf    'ici il y a une erreur, mais je ne sais pas comment m'en sortir... il me dit "Identificateur attendu"

            For Each file In .FileNames
                TextBox1.AppendText(file + vbCrLf)
            Next

        End With


N'oublie pas de mettre la propriété Multiline de ton textbox à True

@Christoni:

Ce qui compte,ce n'est pas ce qu'on a mais plutôt ce que l'on fait avec ce qu'on a...
Visual Basic .Net is the best and vb6.0

Merci NSUADI 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

Commenter la réponse de NSUADI
Meilleure réponse
cs_christoni 140 Messages postés mardi 25 novembre 2003Date d'inscription 1 novembre 2010 Dernière intervention - 9 août 2010 à 06:33
3
Merci
Bonjour,
testez avec une sélection dans l'OpenFileDialog puis faites "annuler" et VB vous met des cochonneries dans le TextBox.
Donc il faut qu'il ne traite que la touche "Ouvrir".
En reprenant le code de NSUADI, ça devrait donner :
        TextBox1.Text = ""
        With OpenFileDialog1
            .Multiselect = True
            .Title = "Sélectionnez un ou plusieurs fichiers"
            .Filter = "Images (*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|" + "Images (*. BMP, *. JPG, *. GIF) | *. bmp, *. JPG, *. GIF |» + _" + "Tous les fichiers (*.*)|*.*"
            .SupportMultiDottedExtensions = True
            '.ShowDialog()
            'TextBox1.Text = .FileName '+ vbCrLf    'ici il y a une erreur, mais je ne sais pas comment m'en sortir... il me dit "Identificateur attendu"
            If .ShowDialog = Windows.Forms.DialogResult.OK Then
                For Each file In .FileNames
                    TextBox1.AppendText(file + vbCrLf)
                Next
            End If
        End With
    End Sub

Avec ou sans la première ligne selon que l'on veut vider ou pas le TextBox à chaque appel.

Merci cs_christoni 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 72 internautes ce mois-ci

Commenter la réponse de cs_christoni
cs_christoni 140 Messages postés mardi 25 novembre 2003Date d'inscription 1 novembre 2010 Dernière intervention - 8 août 2010 à 20:17
1
Merci
Bonsoir,
faites un "for each" de la collection de "OpenFileDialog1.FileNames" et utiliser la méthode "AppendText" de Textbox avec éventuellement un "vbCrLf" pour le passage à la ligne.
Pour ma part j'utiliserais un "If OpenFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK", afin de ne traiter que l'appui de la touche OK du OpenFileDialog.
Commenter la réponse de cs_christoni
NSUADI 540 Messages postés mardi 4 août 2009Date d'inscription 1 février 2013 Dernière intervention - 8 août 2010 à 18:53
0
Merci
Fais le comme ceci:

 With OpenFileDialog1
            .Multiselect = True
            .Title = "Sélectionnez un ou plusieurs fichiers"
            .Filter = "Images (*.BMP;*.JPG;*.GIF)|*.BMP;*.JPG;*.GIF|" + "Images (*. BMP, *. JPG, *. GIF) | *. bmp, *. JPG, *. GIF |» + _" + "Tous les fichiers (*.*)|*.*"
            .SupportMultiDottedExtensions = True
            .ShowDialog()
            TextBox1.Text = .FileName    

  End With


Ce qui compte,ce n'est pas ce qu'on a mais plutôt ce que l'on fait avec ce qu'on a...
Visual Basic .Net is the best and vb6.0
Commenter la réponse de NSUADI
cs_warberzz 9 Messages postés vendredi 6 août 2010Date d'inscription 9 août 2010 Dernière intervention - 8 août 2010 à 19:03
0
Merci
En effet merci beaucoup ton code marche :) mais si je veux afficher plusieurs fichiers dans la textbox, je fais comment ? des que je rajoute un s à "OpenfileDialog1.FileName" (qui devient donc OpenfileDialog1.FileNames) il me dit : "Impossible de convertir une valeur de type 'Tableau à 1 dimension(s) de String' en 'String'" ...
Merci Beaucoup :)
Commenter la réponse de cs_warberzz
cs_warberzz 9 Messages postés vendredi 6 août 2010Date d'inscription 9 août 2010 Dernière intervention - 9 août 2010 à 11:03
0
Merci
Vous êtes géniaux merci a tous !!! :)
Commenter la réponse de cs_warberzz

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.