Petite aide

Résolu
njo80 Messages postés 9 Date d'inscription dimanche 13 juin 2004 Statut Membre Dernière intervention 11 décembre 2007 - 24 mai 2006 à 10:58
cs_vpoyo Messages postés 363 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 20 avril 2010 - 24 mai 2006 à 11:24
Bonjour,
Je suis novice en vba et j'ai un petit problème
Je dois importer le contenu de fichiers .txt dans excel.
Mais les noms de ces fichiers varient tout le temps
C'est pour ça que j'ai fais une macro qui ouvre un fichier.
Mais avec la macro j'ouvre tout le temps le même fichier
Donc j'ai fais :
Dim nomfichier as variant
nomfichier = application.getopenfilename(mutiselect:=false)
je récupére le nom du chemin que je veux utiliser.

Ensuite dans la macro que j'ai créer j'ai :
With ActiveSheet.QueryTables.Add(Connection:=_
    "Text;C:\documentsandsettings\jonathan\Bureau\lc\ROI NCROSE\LC_08_NECROSE.txt" _
    Destination:=Range("A5"))
   .Name = "LCF_08_NECROSE_1"

e veux remplacer le c:\doc..........txt par ma variavle nomfichier
mais j'ai des erreurs a chaque fois. Voila mon problème.
Quelqu'un sait  aussi comment je pourrais juste récupérer LCF_08_NECROSE_1
(le nom du fichier quoi lol).

Merci

3 réponses

cs_vpoyo Messages postés 363 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 20 avril 2010 6
24 mai 2006 à 11:09
si tu remplaces

"Text;C:\documentsandsettings\jonathan\Bureau\lc\ROI NCROSE\LC_08_NECROSE.txt" _

par
"Text;" & monfichier _

ca ne passe pas ?


(au passage vérifie que monFichier est bien le nom complet avec les répertoire et pas juste LC_08_NECROSE.txt
3
njo80 Messages postés 9 Date d'inscription dimanche 13 juin 2004 Statut Membre Dernière intervention 11 décembre 2007
24 mai 2006 à 11:16
Merci ça marche j'avais bien le nom complet du chemin,
comment je peux juste récupérer  LC_08_NECROSE sans l'extension


et ajouter _1 à la fin pour obtenir

LC_08_NECROSE_1
 (mon fichier s'appelle LC_08_NECROSE .txt il n'y a pas _1 dedans)
3
cs_vpoyo Messages postés 363 Date d'inscription vendredi 14 février 2003 Statut Membre Dernière intervention 20 avril 2010 6
24 mai 2006 à 11:24
le mieux reste encore de lire la doc sur les diverses fonctions de manipulation de string

le plus simple dans ton cas, c'est directement de virer les 4 dernier caractères puisque tu auras toujours .txt. tu as une fonction Left qui extrait la partie gauche, tu as aussi une fonction Len qui renvoie le nombre de caractère d'une chaine une fois la nouvelle chaine récupérer (sans le ".txt") il suffit juste de concaténer (rajouter à la fin) la chaine "_1" avec l'opérateur & (comme dans l'exemple de la réponse précédente)
0
Rejoignez-nous