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 :

Comment concaténer le nom d'un dossier avec le contenu d'une cellule


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Août 2017
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Tarn (Midi Pyrénées)

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

    Informations forums :
    Inscription : Août 2017
    Messages : 363
    Par défaut Comment concaténer le nom d'un dossier avec le contenu d'une cellule
    Bonjour,

    Dans la cellule B4 de mon fichier, je récupère une valeur issue d'un fichier EXCEL fermé (fichier "synthese.xls"). Pour cela j'utilise la commande suivante :

    ='C:\Users\jmassol\Desktop\recup\[synthese.xls]Feuil1'!$B2

    Le problème c'est qu'en fait la donnée à récupérer (et donc le fichier "synthèse.xls") se situe dans le dossier 'C:\Users\jmassol\Desktop\recup\UB4840'.

    Le dernier terme (UB4840) est une variable qui apparait dans la cellule A4. Cette valeur est le résultat d'une concaténation.

    1- Comment dois-je modifier ma commande pour concaténer 'C:\Users\jmassol\Desktop\recup\' et 'UB4840' de sorte à obtenir 'C:\Users\jmassol\Desktop\recup\UB4840' ?

    2- Le nom du fichier dans lequel se trouve la donnée à récupérer est également une variable (valeur entre crochet proposée au début = variable). Celle-ci apparait dans la cellule F4. Comment dois-je modifier ma commande pour que le nom du fichier à scruter soit une variable ?

    3- Même question pour l'onglet ("Feuil1" dans la ligne de commande proposée au départ).

    En vous remerciant par avance.

    Cdlt.
    Jérôme.

  2. #2
    Membre éclairé
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Août 2017
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Tarn (Midi Pyrénées)

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

    Informations forums :
    Inscription : Août 2017
    Messages : 363
    Par défaut
    Bonjour,

    Des suggestions ? Merci par avance.

    Cdlt.
    Jérôme

  3. #3
    Membre Expert
    Avatar de Igloobel
    Homme Profil pro
    Développeur ERP - VBA et Formateur bureautique
    Inscrit en
    Septembre 2005
    Messages
    1 871
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loiret (Centre)

    Informations professionnelles :
    Activité : Développeur ERP - VBA et Formateur bureautique
    Secteur : Industrie

    Informations forums :
    Inscription : Septembre 2005
    Messages : 1 871
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    pour concaténer 2 chaines de caractères il faut utiliser "&"

    exemple:

    ="'C:\Users\jmassol\Desktop\recup\" & "UB4840" => ="'C:\Users\jmassol\Desktop\recup\UB4840"

  4. #4
    Membre éclairé
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Août 2017
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Tarn (Midi Pyrénées)

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

    Informations forums :
    Inscription : Août 2017
    Messages : 363
    Par défaut
    Bonjour,

    Je re-précise mon besoin.

    J’utilise la formule ci-dessous pour récupérer d’un fichier fermé (j’insiste, fichier fermé) la valeur d’une cellule :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =‘D:\Users\jmassol\Desktop\IDS\ID4840[Entry_form_ID4840.xlsm]NDT_Delivery’!C12
    Quelques explications :
    1. “D:\Users\jmassol\Desktop\IDS\ID4840” correspond au dossier dans lequel se trouve le fichier fermé.
    2. “Entry_form_ID4840.xlsm” correspond au nom du fichier fermé dans lequel je veux récupérer une valeur.
    3. “NDT_Delivery” correspond à l’onglet dans lequel se trouve la valeur à récupérer.
    4. “C12” correspond à la cellule dans laquelle se trouve la valeur à récupérer.

    Cette formule fonctionne très bien cependant je souhaiterais :

    1- A la place d’un chemin entré en “dur” (“D:\Users\jmassol\Desktop\IDS\ID4840”), insérer le chemin du dossier qui se trouve dans une cellule, Supposons que le chemin soit écrit dans la cellule R15 (onglet “Feuil2”).
    Comment dois-je modifier la ligne de commande si le chemin global est la concaténation de 2 cellules de deux onglets différents ? --> mon cas.
    2- Même question pour le nom du fichier. En effet la liste des fichiers apparait dans une colonne. En réalité le nom du fichier doit être la concaténation de deux cellules de deux onglets différents.

    Des suggestions ?

    Merci par avance.

    Cdlt.
    Jérôme.

  5. #5
    Membre éclairé
    Homme Profil pro
    Ingénieur aéronautique
    Inscrit en
    Août 2017
    Messages
    363
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 58
    Localisation : France, Tarn (Midi Pyrénées)

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

    Informations forums :
    Inscription : Août 2017
    Messages : 363
    Par défaut
    Bonjour,

    J'ai testé la commande INDIRECT avec des fichiers bidons.

    J'ai pour cela :

    1- Créé un fichier "ferme.xlsx" dans le dossier "C:\Documents and Settings\Jérôme\Bureau\ANDREU"
    2- Dans le fichier "ferme.xlsx" (onglet "Feuil1" ) j'ai noté en cellule A1 la valeur 10, en cellule A2 la valeur 100, en cellule A3 la valeur 1200, en cellule A4 la valeur 15000 et enfin en cellule A5 la valeur 56789.
    3- Une fois ces valeurs enregistrées dans ce fichier je l''ai fermé.

    4- Ensuite j'ai créé sur le bureau (dossier "C:\Documents and Settings\Jérôme\Bureau" ) le fichier "tutu.xlsx".
    5- Dans la cellule B1 (onglet Feuil1) j'ai noté --> C:\Documents and Settings\Jérôme\Bureau\ANDREU
    6- Dans la cellule C4 (même onglet) j'ai tapé la commande --> =INDIRECT("'"&B1&"["&ferme.xlsx&"]Feuil1'!A1" ).

    Dans la cellule C4 j'ai le texte --> #NOM?

    Pouvez-vous m'aider à résoudre ma problématique ?

    Pour mémoire : je souhaite récupérer d'un fichier fermé (j'insiste sur le mot "fermé" ) la valeur d'une cellule.

    Un grand merci par avance.

    Cordialement.
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. [XL-MAC 2011] Lien d'emplacement sans intéragir avec le contenu d'une cellule
    Par Dgerard83 dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 26/10/2015, 09h13
  2. Remplir une textbox avec le contenu d'une cellule choisie par un click
    Par Cadet69 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 20/01/2015, 15h29
  3. [Toutes versions] comment récupérer via VBA les arguments d’une fonction excel contenue dans une cellule ?
    Par popaul88 dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 12/08/2014, 18h27
  4. [XL-2003] Comment documenter un DTPickers avec le contenu d'une cellule qui peut être vide.
    Par MichaSarah dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/12/2010, 00h54
  5. Alimenter une TextBox Avec le contenu d'une cellule
    Par nico18987 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 29/10/2008, 21h41

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