CommonDialog1 et la fenetre ouvrir un fichier.

Résolu
lolpop Messages postés 211 Date d'inscription mercredi 4 août 2004 Statut Membre Dernière intervention 18 octobre 2010 - 8 juil. 2006 à 00:23
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 8 juil. 2006 à 16:23
Bonjour tout le monde ca faisait longtemp :)

Alors par ou commencer? J'ai créé un petit form avec un bouton pour parcourir les fichiers, j'ai activé le composant Common Dialog controls 6.0 et j'ai placé CommonDialog1 dans mon form.
j'ai fait un petit code pour affiché la fenetre qui marche qui est :
<hr />
Private Sub Command1_Click()
CommonDialog1.ShowOpen
Chemin = CommonDialog1.FileName
nom = CommonDialog1.FileTitle
If Chemin = "" Then MsgBox "vous n'avez rien sélectionné": Exit Sub
MsgBox Chemin
End Sub
<hr />
déjas je ne sais pas si mon code est super valable, mais il foncionne(a moitié ^^)
Quand je dit a moitié, je m'explique:
lorsque je clique pour la premier fois et que je clique sur annuler, j'ai bien le message "vous n'avez rien sélectionné".
Maintenant je clique et je choisi un fichier au hasard, j'ai bien le message avec le chemin du fichier qui s'affiche.
Et maintenant si je reclique sur le bouton et que je met annulé, j'ai encore le message avec le chemin du fichier précédent.
il doit y avoir un truc a vider mais je ne sais pas ce que sais, si quelqu'un a une idée, je l'en remercie d'avance.

un autre truc, ceci c'est fait pour sélectionner les fichiers, mais pour sélectionner un dossier il faut changer quoi?

mercipour vos réponces futur :)

5 réponses

us_30 Messages postés 2065 Date d'inscription lundi 11 avril 2005 Statut Membre Dernière intervention 14 mars 2016 10
8 juil. 2006 à 10:13
Salut,

Une autre possibilité plus simple c'est de remettre CommonDialog1.FileName à zéro, avant de lancer CommonDialog.

Ce qui donne :

CommonDialog1.Filename = ""
CommonDialog1.ShowOpen
Chemin = CommonDialog1.Filenam
If Chemin = "" Then MsgBox "vous n'avez rien sélectionné": Exit Sub
MsgBox Chemin

Cela à l'avantage (ou l'inconvénient c'est selon ce qu'on veut faire) de remettre la selection vide, car sinon en retrouve le nom du fichier précédemment sélectionné.

Amicalement,
Us.
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
8 juil. 2006 à 16:23
Pour ce qui est la sélection de répertoire, il n'existe pas de composant tout fait comme le CommonDialog.
Il suffit d'utiliser quelques APIs du système.
Cherche le mot "Folder" dans la recherche parmi les codes, tu y trouveras des "folder browser"
3
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
8 juil. 2006 à 00:47
Salut
Si tu cliques sur Annuler, le composant garde en effet le nom du fichier dernièrement.
Par contre, le composant peut génèrer une information en cas d'utilisation du bouton Annuler :
Il suffit de passer sa propriété .CancelError à True
De cette manière, si on clique sur Annuler, le programme passera en Erreur.
Il suffit donc de génrer l'erreur :

Private Sub Command1_Click()
On Error Goto Erreur
CommonDialog1.ShowOpen
MsgBox "Fichier : " & CommonDialog1FileName
Exit Sub

Erreur:   '--------------------------------------
If Err.Number = 32755 Then
   ' RàS : Touche Annuler
Else
   MsgBox "Erreur " & CStr(Err.Number) & " - " & Err.Description
End If
End Sub

Par contre, tant qu'aucun fichier n'a été sélectionné auparavant, le 1er Annuler ne déclenchera pas l'erreur mais indiquera un .FileName vide.
Donc, garde ton test si .FileName = ""

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Champion du monde de boule de cristal - 2005
Le savoir est la seule matière qui s'accro
0
lolpop Messages postés 211 Date d'inscription mercredi 4 août 2004 Statut Membre Dernière intervention 18 octobre 2010
8 juil. 2006 à 01:02
merci pour ta réponce, je vais m'en servir.
mais il n'y a pas moyen de vider le fichier contenu en mémoire?
0

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

Posez votre question
lolpop Messages postés 211 Date d'inscription mercredi 4 août 2004 Statut Membre Dernière intervention 18 octobre 2010
8 juil. 2006 à 11:03
encore merci pour vos deux réponces, ca va m'etre trés utiles.

Et par contre quel est la technique pour sélectionner un dossier et non pas un fichier?
0
Rejoignez-nous