Chemin relatif lors de l'importation de données
f_sirfalas
Messages postés
3
Statut
Membre
-
scinarf Messages postés 1183 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
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
A voir également:
- Chemin relatif lors de l'importation de données
- Fuite données maif - Guide
- Votre appareil ne dispose pas des correctifs de qualité et de sécurité importants - Guide
- Supprimer les données de navigation - Guide
- Trier des données excel - Guide
- Service de diffusion de données - Forum TNT / Satellite / Réception
1 réponse
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
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