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 :

utilisation nom feuille dans une procédure de lecture dans fichier externe [XL-2016]


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 3
    Par défaut utilisation nom feuille dans une procédure de lecture dans fichier externe
    Bonjour,
    Je suis en panne avec le code suivant : ActiveCell.FormulaR1C1 = "='[Fichier Extraction.xlsx]'&'[Ref]'!R5C1"
    Je veux copier les données de la colonne A de la feuille qui correspond à la valeur de la variable "Ref" du fichier "Fichier Extraction.xlsx" pour les enregistrer dans mon fichier que j'utilise. Dans le cas présent, la variable Ref a pour valeur Feuil1.
    Comment avoir le même effet que le code ActiveCell.FormulaR1C1 = "='[Fichier Extraction.xlsx]Feuil1'!R5C1" où je voudrais pouvoir remplacer Feuil1 par le nombre d'une autre feuille ?
    Merci par avance pour la réponse
    Luc

  2. #2
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 107
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    En VBA, la fonction Replace permet de remplacer une chaine de caractères par une autre

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     MsgBox Replace("Ceci est la feuille [Ref]", "[Ref]", "Feuil1")
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 3
    Par défaut utilisation nom feuille dans une procédure de lecture dans fichier externe
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,
    En VBA, la fonction Replace permet de remplacer une chaine de caractères par une autre

    Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     MsgBox Replace("Ceci est la feuille [Ref]", "[Ref]", "Feuil1")

    Mon problème est l'utilisation de la valeur de la variable Ref dans la formule de façon à ce qu'elle fonctionne comme si j'avais :
    ActiveCell.FormulaR1C1 = "='[Fichier Extraction.xlsx]Feuil1'!RC1"
    Je voudrais transformer cette dernière pour fonctionner avec la valeur de Ref qui peut être différente de Feuil1

  4. #4
    Rédacteur
    Avatar de Philippe Tulliez
    Homme Profil pro
    Formateur, développeur et consultant Excel, Access, Word et VBA
    Inscrit en
    Janvier 2010
    Messages
    13 107
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Formateur, développeur et consultant Excel, Access, Word et VBA

    Informations forums :
    Inscription : Janvier 2010
    Messages : 13 107
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    "[Ref]" comme vous l'avez écrit dans le code publié ne peut être une variable.
    Si vous voulez utiliser une ou plusieurs chaines de caractères combinées à une variable, il faut alors utiliser l'opérateur de concaténation "&" comme "='[Fichier Extraction.xlsx]" & SheetName & "'!RC1" où la variable SheetName contient le nom de la feuille
    Philippe Tulliez
    Ce que l'on conçoit bien s'énonce clairement, et les mots pour le dire arrivent aisément. (Nicolas Boileau)
    Lorsque vous avez la réponse à votre question, n'oubliez pas de cliquer sur et si celle-ci est pertinente pensez à voter
    Mes tutoriels : Utilisation de l'assistant « Insertion de fonction », Les filtres avancés ou élaborés dans Excel
    Mon dernier billet : Utilisation de la fonction Dir en VBA pour vérifier l'existence d'un fichier

  5. #5
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Territoire de Belfort (Franche Comté)

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2014
    Messages : 3
    Par défaut
    Citation Envoyé par Philippe Tulliez Voir le message
    Bonjour,
    "[Ref]" comme vous l'avez écrit dans le code publié ne peut être une variable.
    Si vous voulez utiliser une ou plusieurs chaines de caractères combinées à une variable, il faut alors utiliser l'opérateur de concaténation "&" comme "='[Fichier Extraction.xlsx]" & SheetName & "'!RC1" où la variable SheetName contient le nom de la feuille
    Merci beaucoup pour cette solution qui me convient.

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

Discussions similaires

  1. [XL-2007] S'affranchir du nom feuille dans construction graphique Excel
    Par Gaby53 dans le forum Excel
    Réponses: 3
    Dernier message: 17/11/2013, 23h14
  2. [XL-2007] Utilisation nom VBA d'une feuille
    Par bluejames dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 23/05/2013, 16h43
  3. Réponses: 2
    Dernier message: 14/03/2011, 10h33
  4. Réponses: 2
    Dernier message: 11/03/2011, 19h06
  5. Réponses: 1
    Dernier message: 13/05/2008, 13h44

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