Problème de chemin de fichier

Résolu
Gnain Messages postés 37 Date d'inscription vendredi 9 juin 2006 Statut Membre Dernière intervention 29 avril 2011 - 29 sept. 2008 à 17:20
Gnain Messages postés 37 Date d'inscription vendredi 9 juin 2006 Statut Membre Dernière intervention 29 avril 2011 - 1 oct. 2008 à 18:41
Bonjours,


en VB6
Je suis confronté à un petit problème de chemin de fichier,
Peut-on donner un chemin comme celui-ci:
P:\08-362 Transcontinental-Transmag Anjou\
en donnant seulement dans un textbox que les 6 premiers caractères.


merçi

Gnain!

11 réponses

Gnain Messages postés 37 Date d'inscription vendredi 9 juin 2006 Statut Membre Dernière intervention 29 avril 2011
1 oct. 2008 à 18:41
Merçi casy
je n'avais pas compris jmfmarques

Private Sub Command1_Click()
toto = Dir("C:" & Text1 & "*", vbDirectory)
ChDir "C:" & toto
MsgBox CurDir
End Sub





Gnain!
3
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
29 sept. 2008 à 17:49
Ta question n'est pas très claire, peux-tu donner plus de détails stp !

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
Gnain Messages postés 37 Date d'inscription vendredi 9 juin 2006 Statut Membre Dernière intervention 29 avril 2011
29 sept. 2008 à 18:42
Je veux ouvrir le fichier toto.xls qui se trouvedans
P:\08-362 Transcontinental-Transmag Anjou\
donc

Private Sub Command1_Click()
'Déclaration des variables
    Dim appExcel As Excel.Application 'Application Excel
    Dim wbExcel As Excel.Workbook 'Classeur Excel
    Dim wsExcel As Excel.Worksheet 'Feuille Excel
 
'Ouverture de l'application
    Set appExcel = CreateObject("Excel.Application")
'Ouverture d'un fichier Excel
    Set wbExcel = appExcel.Workbooks.Open("P:\08-362 Transcontinental-Transmag Anjou\toto.xls")
   
'wsExcel correspond à la première feuille du fichier
    Set wsExcel = wbExcel.Worksheets(1)
   
    appExcel.Visible = True
End Sub

Ce que je voudrais faire est de remplacer
("P:\08-362 Transcontinental-Transmag Anjou\toto.xls")
par
("P:" & textbox1 & "\toto.xls"
en écrivant seulement 08-362 dans le textbox1 car j'ai une multitude de dossier


exemple:
P:\08-362 Transcontinental-Transmag Anjou\toto.xls
P:\08-363 bla bla bla\toto.xls
P:\08-364 blo blo blo\toto.xls
P:\08-365 tatata\toto.xls
P:\08-366 tututu\toto.xls
...
je veux seulement écrire les 6 premiers caractères dans mon textbox
merçi!
Gnain!
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
29 sept. 2008 à 18:47
Bonjour (et un salut à Casy)

Pas très clair, en effet !
Je suppose que ton fichier est dans un répertoire que tu connais :

repertoire = "c:\tonrépertoire"
tes6caractères = "abcdef"
toto = Dir(repertoire & "" & tes6caractères & "*"
MsgBox toto
0

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

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
29 sept. 2008 à 18:49
Croisé avec toa réponse ...
Utilise Replace puis Rename !
0
Gnain Messages postés 37 Date d'inscription vendredi 9 juin 2006 Statut Membre Dernière intervention 29 avril 2011
29 sept. 2008 à 20:10
Gnain!
0
Gnain Messages postés 37 Date d'inscription vendredi 9 juin 2006 Statut Membre Dernière intervention 29 avril 2011
29 sept. 2008 à 20:17
Je ne connais pas le répertoire au complet


mais je veux ouvrir toto.xls en tapant seulement les 6 premiers caractères du répertoire
dans mon textbox

ex:
si toto.xls est dans
P:\08-362 Transcontinental-Transmag Anjou\toto.xls
je veux seulement taper 08-362 dans mon textbox

si toto.xls est dans
P:\08-363 tatata\toto.xls
je veux seulement taper 08-363 dans mon textbox

Gnain!
0
68manu Messages postés 43 Date d'inscription samedi 20 septembre 2008 Statut Membre Dernière intervention 1 octobre 2008
29 sept. 2008 à 22:35
T'enerves pas,

ils sont la pour t'aider :

1.  tu récuperes le contenu de ta textbox dnas une variable
   ex : monraccourci = lacontenudelatextbox
2. Tu parcours les repertoires de ton disque P, avec les instructions disponibles dans le domaine Files

inspires toi de ça : http://support.microsoft.com/kb/185476/fr

3. tu effectues en meme temps une comparaison avec l'instruction Instr, mode d'utilisation : http://www.aivosto.com/vbtips/instr.html, et tu ouvres le fichier...

L'algo est simple, le reste devrait venir tout seul, vu ton code

Bonne chance

_____________________
No problems, only soluces
0
alcyde01 Messages postés 10 Date d'inscription vendredi 19 octobre 2007 Statut Membre Dernière intervention 4 décembre 2010
30 sept. 2008 à 08:20
Bonjour GNAIN,


je pense que dans ton cas le plus simple est d'utiliser une ComboBox a la place d'une TextBox, car si je me souviens bien quand on tape du texte dans la ligne du haut le curseur se place automatiquement sur la premiere occurence de ce texte dans la liste (ce qui correspond a ton probleme). Donc il te suffit de balayer ton repertoire racine et d'ajouter (method ADDITEM)  a ta ComboBox les sous-repertoires que tu trouves; ainsi tu peux acceder facilement au nom complet de ces repertoires en tapant seulement les premiers caracteres.
0
alcyde01 Messages postés 10 Date d'inscription vendredi 19 octobre 2007 Statut Membre Dernière intervention 4 décembre 2010
30 sept. 2008 à 08:26
PS: il est possible qu'il faille parametrer le controle (ComboBox) d'une certaine facon pour obtenir le resultat; je te conseille donc de faire un essai sur une liste limitee pour trouver les bons parametres, avant d'ecrire ton code pour ton application
0
cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
30 sept. 2008 à 08:59
JE veux pas etre désagréable, mais la réponse à tout de même été donnée par la solution de jmfmarques. Certes elle est un peu imcomplette.

sa variable répertoire représente le dossier de départ, donc ici P:\
la variable tes6caractères est à remplacer par le contenu de la textbox.
Il faut rajouter vbDirectory comme paramètre à la fonction Dir.
Celle-ci va renvoyer dans toto le dossier tant convoité.
Il ne restera plus qu'à rajouter le nom du fichier.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
0
Rejoignez-nous