CommonDialog1 et la fenetre ouvrir un fichier. [Résolu]

Messages postés
211
Date d'inscription
mercredi 4 août 2004
Dernière intervention
18 octobre 2010
- 8 juil. 2006 à 00:23 - Dernière réponse :
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
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 :)
Afficher la suite 

Votre réponse

5 réponses

Meilleure réponse
Messages postés
2117
Date d'inscription
lundi 11 avril 2005
Dernière intervention
14 mars 2016
- 8 juil. 2006 à 10:13
3
Merci
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.

Merci us_30 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de us_30
Meilleure réponse
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
- 8 juil. 2006 à 16:23
3
Merci
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"

Merci cs_Jack 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 88 internautes ce mois-ci

Commenter la réponse de cs_Jack
Messages postés
14010
Date d'inscription
samedi 29 décembre 2001
Dernière intervention
28 août 2015
- 8 juil. 2006 à 00:47
0
Merci
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
Commenter la réponse de cs_Jack
Messages postés
211
Date d'inscription
mercredi 4 août 2004
Dernière intervention
18 octobre 2010
- 8 juil. 2006 à 01:02
0
Merci
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?
Commenter la réponse de lolpop
Messages postés
211
Date d'inscription
mercredi 4 août 2004
Dernière intervention
18 octobre 2010
- 8 juil. 2006 à 11:03
0
Merci
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?
Commenter la réponse de lolpop

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.