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

POWER Discussion :

Tester si fichier existe avant import


Sujet :

POWER

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Avril 2023
    Messages
    38
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Aisne (Picardie)

    Informations professionnelles :
    Activité : Chef de projet MOA

    Informations forums :
    Inscription : Avril 2023
    Messages : 38
    Par défaut Tester si fichier existe avant import
    Bonjour à tous

    je souhaite fournir à mes utilisateur un fichier Excel qui importe des fichiers externes xls, mais en masquant cette complexité

    Ce qui est fait et qui fonctionne bien:
    dans un onglet 'setup' l'utilisateur remplit une liste Table/répertoire/NomFichier chaque cellule étant une cellule nommée et clique sur 'Actualiser tout'
    En arrière plan PowerQuery
    - récupère le nom des cellules (Source = Excel.CurrentWorkbook(){[Name="RépertoireFichier"]}[Content],), en fait des fonctions
    - lance chaque import (Excel.Workbook(File.Contents(GetRépertoire() & "\" & GetNomFichier()), null, true) vers la table cible (chaque import est préalablement défini dans Power Query)

    Question:
    si le nom ou le répertoire d'un fichier est erroné ou manquant, l'import plante, c'est normal
    comment éviter que toute l'actualisation ne se bloque?, comment mettre un message d'erreur?, voire un message de retour sur le nombre de lignes importées, par exemple comme ça
    Nom : Capture.JPG
Affichages : 154
Taille : 35,8 Ko

  2. #2
    Membre Expert
    Homme Profil pro
    ingénieur
    Inscrit en
    Mars 2015
    Messages
    1 284
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : ingénieur
    Secteur : Finance

    Informations forums :
    Inscription : Mars 2015
    Messages : 1 284
    Par défaut
    Bonjour

    Dans Power Query, ce genre de situation peut être gérée avec try ... otherwise ...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    try Excel.Workbook(File.Contents([Répertoire] & "\" & [Nom Fichier]), null, true) otherwise "fichier inexistant"
    Sinon, pourquoi GetRépertoire() et non [Répertoire] et GetNomFichier() et non [Nom Fichier] ?

    Stéphane

  3. #3
    Membre Expert
    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    705
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

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

    Informations forums :
    Inscription : Août 2010
    Messages : 705
    Par défaut
    Bonjour,

    Pour réellement interrompre la requête en renvoyant un message d'erreur à l'utilisateur, il faut modifier le "otherwise" qui en l'état sortira un texte alors que le "try" sort une table (ce qui est compliqué à gérer derrière):

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    try Excel.Workbook(File.Contents([Répertoire] & "\" & [Nom Fichier]), null, true) otherwise error Error.Record("Fichier inexistant", "Veuillez corriger le chemin dans la case ....")

    PS: Je pense que les "Get...()" sont une astuce pour le parefeu.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Vérifier qu'un fichier existe avant ouverture
    Par xilllium dans le forum R
    Réponses: 1
    Dernier message: 09/10/2012, 12h03
  2. [AC-2010] Controle sur fichier txt avant importation
    Par texas2607 dans le forum VBA Access
    Réponses: 3
    Dernier message: 15/07/2012, 21h03
  3. FTP tester si fichier existe
    Par DonKnacki dans le forum VBScript
    Réponses: 3
    Dernier message: 08/07/2011, 09h03
  4. [SQL-Server] Vérification fichier csv avant importation
    Par arthuro45 dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 31/03/2010, 22h11
  5. [VBA-E] modifier un fichier texte avant import
    Par hka75 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 04/04/2007, 21h13

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