IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

Transfers de fichier en VBA


Sujet :

Macros et VBA Excel

  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Octobre 2018
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur aéronautique

    Informations forums :
    Inscription : Octobre 2018
    Messages : 216
    Par défaut Transfers de fichier en VBA
    Bonjour,

    Je développe une macro qui effectue une refonte de l'arborescence de plusieurs dizaines de milliers de fichiers (les fichiers resteront stockés sur le même lecteur). J'avoue qu'il me manque quelques notions concernant la gestion de fichiers...

    Est-il possible de changer le chemin d'un fichier sans forcément le déplacer physiquement (j'entends par là magnétiquement sur son support). J'imagine que cela passe par une table d'indexage ?

    Pouvez-vous m'en dire d'avantage sur les différences en la fonction Rename et la méthode Move issue de la classe Scripting.FileSystem ?

    Merci par avance !

  2. #2
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Bonjour,
    Citation Envoyé par Orbeaman Voir le message
    Est-il possible de changer le chemin d'un fichier sans forcément le déplacer physiquement (j'entends par là magnétiquement sur son support). J'imagine que cela passe par une table d'indexage ?
    Pouvez-vous m'en dire d'avantage sur les différences en la fonction Rename et la méthode Move issue de la classe Scripting.FileSystem ?
    Nous ne sommes plus ici dans le fonctionnement du VBA mais dans l'utilisation directe de l'OS.
    Une table d'indexage sert à l'OS à retrouver facilement l'accès à un fichier mais ce n'est pas elle qui definit son emplacement. Celui-ci est défini par les tables d'allocation.
    En général, lorsque le fichier reste dans la même partition (il peut y en avoir plusieurs sur un même support physique), la commande Move ne déplace pas physiquement le fichier, elle redéfinit les tables d'allocation.
    La commande Rename n'a pas d'action sur l'emplacement du fichier.

  3. #3
    Membre éclairé
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Octobre 2018
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur aéronautique

    Informations forums :
    Inscription : Octobre 2018
    Messages : 216
    Par défaut
    Bonjour Patrick,

    Merci pour ces précisions. J'avoue ne pas avoir fait la distinction entre la table d'indexage et d'allocation. Par contre, je savais qu'il était possible d'activer ou non l'indexage pour la recherche de fichiers.

    Pour infos, c'est un transfert que je vais effectuer sur le réseau d'un grand constructeur aéronautique (pour ne pas le citer), j'imagine que leur réseau / lecteurs sont organisés autour d'une configuration RAID particulière en privilégiant la redondance des sauvegardes pour des questions de fiabilités évidente. Je crains qu'un fichier peut donc potentiellement se retrouver sur plusieurs supports physiques et que cela pourrait quelque peu compliquer le transfert (il ne faudrait pas que ça prenne des lustres...). Par ailleurs, est-ce que format du lecteur (FAT, NTFS,...) peut avoir une influence ?

  4. #4
    Expert éminent Avatar de Menhir
    Homme Profil pro
    Ingénieur
    Inscrit en
    Juin 2007
    Messages
    16 037
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2007
    Messages : 16 037
    Par défaut
    Citation Envoyé par Orbeaman Voir le message
    il ne faudrait pas que ça prenne des lustres...
    Dans ce cas, VBA n'est vraiment pas le bon outil pour ce type d'application : ce n'est ni le plus pratique, ni le plus rapide, ni (surtout) le plus fiable.
    On ne refait pas l'intégralité de la plomberie d'une maison outillé uniquement d'un couteau suisse.

  5. #5
    Expert confirmé
    Avatar de MarcelG
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2009
    Messages
    3 449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 67
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2009
    Messages : 3 449
    Billets dans le blog
    7
    Par défaut
    Bonjour à tous,

    A toute fin utile, l'instruction Name peut être utilisée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Name "old chemin complet + nom du fichier" As "new chemin complet + nom du fichier"
    Sinon, les requêtes FSO (Scripting.FileSystemObject)

  6. #6
    Membre éclairé
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Octobre 2018
    Messages
    216
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur aéronautique

    Informations forums :
    Inscription : Octobre 2018
    Messages : 216
    Par défaut
    Oui, je suis d'avis que VBA n'est pas top. Au pire, je peux toujours par exemple générer un simple code en VBS et le lancer depuis DOS. Sinon quels types de langages peuvent garantir davantage de fiabilité ? De toute façon, j’imagine que la librairie Scripting.FileSystemObject provient de VB6 ou de C++ ?

    Quant à la fonction Rename, il me semble aussi que ça passe en incluant différents dossiers, mais il faut que ceux de destinations soient déjà existants (ce qu'il n'est pas vraiment un problème à vrai dire).

Discussions similaires

  1. Explorateur de Fichier en VBA
    Par kika.93 dans le forum Access
    Réponses: 4
    Dernier message: 01/08/2006, 22h04
  2. [VB6] Transfer de fichier par ftp
    Par fearless dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 29/07/2006, 00h16
  3. Réponses: 3
    Dernier message: 02/07/2006, 13h17
  4. Réponses: 2
    Dernier message: 13/03/2006, 19h52
  5. Transfere de fichier avce els compo indy
    Par Coussati dans le forum Composants VCL
    Réponses: 3
    Dernier message: 18/01/2006, 05h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo