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

Excel Discussion :

Cellules : récupération données avec chemin de fichier dynamique


Sujet :

Excel

  1. #1
    Membre habitué Avatar de lolymeupy
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2006
    Messages : 402
    Points : 180
    Points
    180
    Par défaut Cellules : récupération données avec chemin de fichier dynamique
    Bonjour,
    je dois modifier des fichiers Excel qui récupère des données depuis d'autres fichiers.
    Ces fichiers correspondent à chaque année.
    par contre, à chaque début d'année les personnes qui s'en occupent doivent dupliquer les fichiers, les renommer avec l'année en cours, puis modifier toutes les cellules qui contiennent l'année précédente.
    Hors il faudrait modifier les cellules concernées pour que ce changement d'année soit fait automatiquement.
    Un exemple étant plus parlant :
    Cellule actuelle :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ='G:\dossier1\dossier2\Année 2014\[FichierOrigineDonnée.xls]Stat par types erreurs'!$D$18
    Et au lieu d'avoir à modifier la partie "Année 2014" manuellement, chaque année, et ce pour toutes les cellules (car vraiment nombreuses), on voudrait que ce soit fait de manière automatique.
    J'ai bien essayé :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ='G:\dossier1\dossier2\Année ' & TEXTE(AUJOURDHUI();"aaaa") & '\[FichierOrigineDonnée.xls]Stat par types erreurs'!$D$18
    Mais cela ne marche évidement pas
    Est-ce qu'il existe une formule qui permettrait d'obtenir ce qu'on veut ?
    Merci beaucoup

  2. #2
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Il suffit d'utiliser la fonction INDIRECT

    Cela dit, je te déconseille fortement de chercher l'année à l'aide de la fonction AUJOURDHUI ou MAINTENANT.
    Parce que si, comme tu le dis, les fichiers des années précédentes sont sauvegardé, du coup, tous les fichiers archivés traiteront l'année en cours, ce qui n'est probablement pas ce qui est souhaité.

    Le mieux est de mettre l'année dans une cellule et d'utiliser sa valeur.
    Si tu veux le faire en automatique, tu peux éventuellement utiliser le nom de ton fichier (puisque, d'après ce que tu dis, il est renommé suivant l'année) en utilisant :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =CELLULE("nom de fichier";LC)
    plus une fonction STXT pour ne récupérer dans le nom que la partie qui t'intéresse (l'année).

  3. #3
    Membre habitué Avatar de lolymeupy
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2006
    Messages : 402
    Points : 180
    Points
    180
    Par défaut
    Cela dit, je te déconseille fortement de chercher l'année à l'aide de la fonction AUJOURDHUI ou MAINTENANT.
    Parce que si, comme tu le dis, les fichiers des années précédentes sont sauvegardé, du coup, tous les fichiers archivés traiteront l'année en cours, ce qui n'est probablement pas ce qui est souhaité.
    Effectivement, c'est très pertinent
    Merci aussi pour ça

    Sinon, oui le plus simple est de mettre l'année dans le fichier.
    Je fais le test avec la fonction INDIRECT

  4. #4
    Membre habitué Avatar de lolymeupy
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2006
    Messages : 402
    Points : 180
    Points
    180
    Par défaut
    Bonjour
    J'ai essayé avec la fonction INDIRECT, mais je pense que je ne l'utilise pas comme il faut
    J'ai essayé comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =INDIRECT("'G:\dossier1\dossier2\Année " & D1 & "\[FichierOrigineDonnée.xls]Stat par types erreurs'!$D$18")
    (D1 étant la cellule ou je stocke la valeur de l'année.
    @Menhir : c'est effectivement la solution la plus simple et la plus logique )
    Mais cela ne fonctionne pas...
    Est-ce qu'il faut rajouter des caractères d'échappement pour les ' ?

  5. #5
    Expert éminent sénior 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
    Points : 32 866
    Points
    32 866
    Par défaut
    Citation Envoyé par lolymeupy Voir le message
    Est-ce qu'il faut rajouter des caractères d'échappement pour les ' ?
    A priori non.

    Je viens de tester la formule :
    Ca marche très bien.

    Qu'est-ce qu'il y a dans D1 ? Une valeur numérique ?
    Essaye de la remplacer dans ta formule par :

  6. #6
    Membre habitué Avatar de lolymeupy
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2006
    Messages : 402
    Points : 180
    Points
    180
    Par défaut
    Bonjour Menhir
    Merci encore pour ton aide.
    J'ai donc essayé tout d'abord en insérant la formule suivante en E1 :
    puis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =INDIRECT("'G:\dossier1\dossier2\Année !D1\[FichierOrigineDonnée.xls]Stat par types erreurs'!$D$18")
    Mais j'obtiens un #REF! en retour
    J'ai essayé ensuite avec cette version :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =INDIRECT("'G:\dossier1\dossier2\Année " & E1 & "\[FichierOrigineDonnée.xls]Stat par types erreurs'!$D$18")
    mais même résultat

    Pour info, j'ai modifié le chemin pour plus de clarté dans ce post, car en fait il y a 2 fois l'année dans le chemin utilisé actuellement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    ='G:\dossier1\dossier2\Année 2014\[FichierOrigineDonnée 2014 (2ème trim).xls]Stat par types erreurs'!$D$18
    Et donc j'ai testé avec :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =INDIRECT("'G:\dossier1\dossier2\Année !D1\[FichierOrigineDonnée !D1 (2ème trim).xls]Stat par types erreurs'!$D$18")
    puis :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =INDIRECT("'G:\dossier1\dossier2\Année " & D1 & "\[FichierOrigineDonnée " & D1 & " (2ème trim).xls]Stat par types erreurs'!$D$18")

  7. #7
    Membre habitué Avatar de lolymeupy
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2006
    Messages
    402
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Service public

    Informations forums :
    Inscription : Octobre 2006
    Messages : 402
    Points : 180
    Points
    180
    Par défaut
    Autant pour moi Menhir
    Il manquait un espace dans le chemin
    Cela marche très bien avec cette formule (avec l'année saisie en D1) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    =INDIRECT("''G:\dossier1\dossier2\Année " & D1 & "\[FichierOrigineDonnée " & D1 & " (2ème trim).xls]Stat par types erreurs'!$D$18")
    Désolé
    Et merci encore pour l'aide

Discussions similaires

  1. Problème avec chemin de fichier
    Par maiore dans le forum R
    Réponses: 1
    Dernier message: 18/10/2010, 08h55
  2. Import d'une base de données avec uniquement un fichier MDF
    Par ridan dans le forum Administration
    Réponses: 2
    Dernier message: 25/03/2010, 13h40
  3. Réponses: 4
    Dernier message: 10/05/2009, 11h18
  4. Réponses: 3
    Dernier message: 13/04/2007, 11h04
  5. [MySQL] Problème récupération données avec apostrophe
    Par Nata31 dans le forum PHP & Base de données
    Réponses: 10
    Dernier message: 21/07/2006, 17h26

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