Chemin relatif lors de l'importation de données

[Fermé]
Signaler
Messages postés
3
Date d'inscription
lundi 6 mai 2013
Statut
Membre
Dernière intervention
22 mai 2013
-
Messages postés
1098
Date d'inscription
samedi 18 novembre 2006
Statut
Membre
Dernière intervention
25 septembre 2014
-
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

Messages postés
1098
Date d'inscription
samedi 18 novembre 2006
Statut
Membre
Dernière intervention
25 septembre 2014
284
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