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

Signaler
Messages postés
9
Date d'inscription
vendredi 6 août 2010
Statut
Membre
Dernière intervention
9 août 2010
-
Messages postés
9
Date d'inscription
vendredi 6 août 2010
Statut
Membre
Dernière intervention
9 août 2010
-
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 !! :)

6 réponses

Messages postés
540
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
1 février 2013
2
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
Messages postés
140
Date d'inscription
mardi 25 novembre 2003
Statut
Membre
Dernière intervention
1 novembre 2010
6
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.
Messages postés
140
Date d'inscription
mardi 25 novembre 2003
Statut
Membre
Dernière intervention
1 novembre 2010
6
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.
Messages postés
540
Date d'inscription
mardi 4 août 2009
Statut
Membre
Dernière intervention
1 février 2013
2
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
Messages postés
9
Date d'inscription
vendredi 6 août 2010
Statut
Membre
Dernière intervention
9 août 2010

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 :)
Messages postés
9
Date d'inscription
vendredi 6 août 2010
Statut
Membre
Dernière intervention
9 août 2010

Vous êtes géniaux merci a tous !!! :)