VB6 Affichage du nom d'un dossier dans un textbox

DarkFel Messages postés 94 Date d'inscription jeudi 7 décembre 2000 Statut Membre Dernière intervention 27 mai 2008 - 28 avril 2008 à 15:44
DarkFel Messages postés 94 Date d'inscription jeudi 7 décembre 2000 Statut Membre Dernière intervention 27 mai 2008 - 29 avril 2008 à 18:24
Bonjour, Alors voilà après avoir chercher je pose ma question :
Je voudrais que dès que j'ouvre mon programme il y est le nom d'un dossier situé dans C:\Nouveau dossier (par exemple) qui apparaisent dans ma textbox (voir image) :

Je suis un débutant... Merci à vous par avance

13 réponses

babylon58 Messages postés 4 Date d'inscription lundi 28 avril 2008 Statut Membre Dernière intervention 28 avril 2008
28 avril 2008 à 17:14
Peut etre quelque chose du style :
Dim

SousDos()
As
String = Directory.GetDirectories(
"c:\nouveau dossier")

For
Each Dossier
In SousDosTextBox1.Text = Dossier

Next
0
DarkFel Messages postés 94 Date d'inscription jeudi 7 décembre 2000 Statut Membre Dernière intervention 27 mai 2008
28 avril 2008 à 17:36
merci mais je mettrais ça où ? Parce qu'il me met ça en rouge :

Dim

SousDos() AsString = Directory.GetDirectories("c:\nouveau dossier")

For
Each
Dossier
In
SousDos

Meric à toi en tout cas
0
Neron2005 Messages postés 63 Date d'inscription dimanche 5 novembre 2000 Statut Membre Dernière intervention 1 décembre 2013
28 avril 2008 à 18:36
En faite en VB6, il faut (c'est plus facile) charger la bibliotheque FileSystemObject,
Pour ca tu va dans le menu Projet / Reference et la il y a une foultitude de bibliotheque que tu peux charger, il faut choisir Microsoft Scripting Runtime et appuyer sur OK.

Puis tu tappe le code suivant

Private Sub Form_Load()

Dim FSO As New FileSystemObject
' on initilatise la bibliotheque dans la variable FSO
Dim Dossier As Folder, Dossiers As Folders
' Variable utile pour la suite
Set Dossiers = FSO.GetFolder("c:\nouveau dossier").SubFolders
' on initialise la variable Dossiers qui contient tous les dossier de "c:\nouveau dossier"


For Each Dossier In Dossiers
' on affiche a l'ecran le nom de tous les nom des dossier a l'interieur de Folders 
' c'est a dire les dossier qui sont dans "c:\nouveau dossier"
    print Dossier.Name
Next

End Sub

sinon pour toutes les autres fonctionalité du FSO (FileSystemObject) fait une recherche.
0
DarkFel Messages postés 94 Date d'inscription jeudi 7 décembre 2000 Statut Membre Dernière intervention 27 mai 2008
28 avril 2008 à 18:41
Bonsoir et  merci de ta réponse. Cependant 'Salut' (citez dans mon exemple) ne s'affiche pas est-ce normal ? Merci à toi
0

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

Posez votre question
DarkFel Messages postés 94 Date d'inscription jeudi 7 décembre 2000 Statut Membre Dernière intervention 27 mai 2008
28 avril 2008 à 18:49
J'ai fait autre chose au lieu de mettre print Dossier.Name j'ai mis Text1.Text = Dossier
Cependant il m'affiche C:\Nouveau dossier\Salut dans ma TextBox et pas seulement Salut
Sinon c'est bon... de plus c'est cool parce que j'ai mis 2 dossiers dans 'Nouveau dossier' et il m'en prend que 1 ! ça c'est ce que je voulais.
Merci beaucoup maintenant y'aurait pas moyen d'enlever C:\Nouveau dossier\ ??
0
Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 10
28 avril 2008 à 18:53
Arrêtez d'utiliser FSO pour travailler sur les fichiers/dossiers en VB6, non d'une pipe !!! C'est une quasi-hérésie !!!

Textbox1.Text = Dir("c:\nouveau dossier\*",vbdirectory)

... suffit largement à ton bonheur ... pour peu qu'il n'y ai qu'1 seul dossier dans "c:\nouveau dossier", bien sûr ?
0
DarkFel Messages postés 94 Date d'inscription jeudi 7 décembre 2000 Statut Membre Dernière intervention 27 mai 2008
28 avril 2008 à 19:06
Ben j'ai mis ce que tu m'as dit càd :
<hr size="2" width="100%" />
Private Sub Form_Load()
Text1.Text = Dir("c:\nouveau dossier\*", vbDirectory)
End Sub
<hr size="2" width="100%" />Et à vrai dire ça m'affiche un point dans ma TextBox, pourquoi ?
Merci à vous tous !
0
Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 10
28 avril 2008 à 19:25
Désolé ! J'avais oublié qu'il existait dans tous les dossiers des dossiers "." et ".." !!
Mets cela :
Dim Buffer As String

Buffer = Dir$("c:\nouveau dossier\*", vbDirectory)
While Left$(Buffer,1)="."
Buffer = Dir$
Wend
Textbox1.Text = Buffer
0
DarkFel Messages postés 94 Date d'inscription jeudi 7 décembre 2000 Statut Membre Dernière intervention 27 mai 2008
28 avril 2008 à 19:25
C'est bon merci à tous. En fait fallait juste mettre Text1.Text = Dossier.Name
Il m'affiche bien le 'Salut'.
Par contre comment on fait si on a 4 dossiers par exemple pour en choisir un bien spécifique ? Enfin pour l'aider à choisir.
Car j'ai quatres dossiers nommé respectivement : 001plot, dnsde, 0789jim, Source
y'en a 3 que je veux qui mettent dans la textbox et lui il me prend 'Source' celui que je veux pas mettre dans la textbox
biensur je veux juste en mettre un dans la textebox.
soit 001plot, soit dnsde, soit 0789jim

Comment on peut faire pour enfait exclure Source de la sélection... C'est ça en fait que je veux faire...
Merci à vous en tout cas de votre aide.
0
DarkFel Messages postés 94 Date d'inscription jeudi 7 décembre 2000 Statut Membre Dernière intervention 27 mai 2008
28 avril 2008 à 19:28
Bon ben vu que j'ai posté l'autre sujet à 17 secs n'intervalles je ne l'ai pas vu ! en tout cas ça marche avec t'as méthode et il ne me prend pas le fichier nommé 'Source' Merci beaucoup réponse acceptée !
Merci aussi à vous autre de vous être bien donné la peine.
0
DarkFel Messages postés 94 Date d'inscription jeudi 7 décembre 2000 Statut Membre Dernière intervention 27 mai 2008
28 avril 2008 à 21:25
Merci ton code marche vachement bien juste encore 2 petites questions que je me pose :
Dim Buffer As String

  Buffer = Dir$("c:\nouveau dossier\*", vbDirectory)

  While Left$(Buffer,1)="."

    Buffer = Dir$

  Wend

  Textbox1.Text = Buffer

tu as fais en sorte "d'éliminer" les dossiers nommé '.' ou '..' est-ce que c'est possible d'enlever aussi le mot Source d'un dossier ?

L'autre question est-ce possible de mettre plusieurs adresse de dossier car j'ai mis

Dim Buffer As String


  Buffer = Dir$("c:\nouveau dossier\*", vbDirectory)

  Buffer = Dir$("d:\nouveau dossier\*", vbDirectory)


  While Left$(Buffer,1)="."


    Buffer = Dir$


  Wend


  Textbox1.Text = Buffer

mais ça ne marche pas ?!

Voilà merci pour tout !
0
Kristof_Koder Messages postés 918 Date d'inscription vendredi 3 août 2007 Statut Membre Dernière intervention 27 octobre 2008 10
29 avril 2008 à 08:01
Je ne comprend pas bien ce que tu veux faire au final ?
Si tu as plusieurs dossiers dans "c:\nouveau dossier", lequel veux-tu
prendre exactement ? Il ne suffit pas de dire "je ne veux pas de Source" !
A fortiori si tu recherches ensuite sur D:\
Par allieurs, pour faire une recherche sur deux dossiers différents, il faut les faire une par une ... pas les deux en même temps.
0
DarkFel Messages postés 94 Date d'inscription jeudi 7 décembre 2000 Statut Membre Dernière intervention 27 mai 2008
29 avril 2008 à 18:24
le principe est que je ne connais pas les noms des dossiers qu'il y a dans C:\Nouveau dossier\
donc ce que je voudrais faire c'est :
- que ça me marque uniquement le nom des dossiers dans ma textbox.(car ça m'a marqué le nom d'un fichier)

- s'il est possible. De retirer certains dossier dont le nom m'es connu de la 'recherche'
exemple : il y a deux dossiers dans C:\Nouveau Dossier (il y a 'Mondossier' et 'Marecherche')
quand je lance mon logiciel il me met par défaut 'Mondossier' dans ma textbox alors que je veux 'Marecherche' Comment faire en sorte qu'il ne prenne pas le dossier nommé 'Marecherche'

Ce que je voudrais également savoir c'est comment faire en sorte de recherche le dossier situé à l'intérieur de 'Nouveau dossier' sans savoir le chemin d'accès.
Par exemple : si le dossier nommé 'Nouveau dossier' est dans l'espace disque nommé A:\ et dans le dossier nommé 'ParIci' ben le 'logiciel' retrouve sa trace. Ca veut dire que le dossier 'Nouveau dossier'  est dans A:\ParIci\

Je sais pas si ce que je demande dans ma troisième question est possible
Merci par avance
0