Chemin relatif lors de l'importation de données

f_sirfalas Messages postés 3 Statut Membre -  
scinarf Messages postés 1183 Statut Membre -
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 1183 Statut Membre 252
 
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