Chemin relatif lors de l'importation de données

Fermé
f_sirfalas Messages postés 3 Date d'inscription lundi 6 mai 2013 Statut Membre Dernière intervention 22 mai 2013 - 22 mai 2013 à 12:45
scinarf Messages postés 1098 Date d'inscription samedi 18 novembre 2006 Statut Membre Dernière intervention 25 septembre 2014 - 23 mai 2013 à 16:32
Bonjour,

Je dois analyser des données provenant d'un appareil de mesures. cet appareil fourni les données sous format CSV. J'importe donc les fichiers dans Excel 2013 (Données --> Fichier texte), tout marche bien.

Le problème est que ce fichier d'analyse doit être portable ; en fait, un répertoire contenant le fichier Excel + les données en format CSV.

J'importe par série de mesure une dizaine de fichiers CSV, et il y a plusieurs série de mesures à faire. Lors de la sélection du fichier, j'ai une fenêtre exlorer qui sauve le fichier sélectionné en chemin absolu. Donc si je duplique ou si je déplace le répertoire, il faut modifier à la main (dans la fenêtre listant toutes les connexions) chaque fichier Excel, ce qui est long et rébarbatif (et pour toute manoeuvre rébarbative, une erreur peut se glisser sans qu'on le remarque).

Je n'ai pas trouvé comment forcer Excel à prendre un chemin relatif genre ".\data1.csv" (c'est-à-dire dans le répertoire contenant le fichier Excel qu'on est en train d'éditer).

Y a-t-il un moyen de la faire ? si oui, comment ?

Merci

1 réponse

scinarf Messages postés 1098 Date d'inscription samedi 18 novembre 2006 Statut Membre Dernière intervention 25 septembre 2014 252
23 mai 2013 à 16:32
Bonjour,

Si votre fichier Excel se situe dans le même repertoire que les fichiers CSV (je pense que c'est le cas) vous pouvez utiliser ceci

Dim myPath as string
Dim p as integer
dim relativePath as string

myPath = ThisWorkbook.path
p = InStr(1, StrReverse(myPath ), "\", vbTextCompare)
relativePath = right (myPath, p-1)

Après vous n'avez plus qu'à utiliser relativePath pour le reste de votre macro
0