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 :

RechercheV dans autre fichier - Chemin inconnu et variable


Sujet :

Macros et VBA Excel

  1. #1
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 4
    Points : 3
    Points
    3
    Par défaut RechercheV dans autre fichier - Chemin inconnu et variable
    Salut à tous,

    Je viens solliciter votre aide, aujourd'hui, car je suis dans une belle galère...

    Apprenti en France, je suis actuellement dans une filliale étrangère en Allemagne. Du coup, on fonctionne pas du tout pareil et je ne peux rien imposer.
    Cela fait 2 semaines que je travaillais sur plusieurs fichiers excel plein de VBA

    Avec votre aide j'avais réussi a bouclé ma dernière macro, tout est OK. Quand j'utilise mes fichiers sur mon ordinateur tout fonctionne correctement et même parfaitement :

    Mon problème :

    Le fichier ou on écrit les données : Input_concept.xlsm

    Le fichier (esclave) à qui ont impose des données : flags.xlsx

    Quand j'écris dans mon fichier maître, cela va entrer créer de nouveaux onglets dans le fichier maître mais surtout allez écrire dans le fichier esclave.
    Ainsi, ma macro pose une formule RechercheV dans la case B2 du fichier esclave.

    La voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveCell.FormulaR1C1 = _
     "=IF(ISERROR(VLOOKUP(RC1,INDIRECT(""'Q:\OTD\05 TSSM\10 Business Intelligence\02 Data\05 QlikView\Flags\Input_concept.xlsm]"" & R1C & ""'!$a$1:$a$1000""),1,0)),"""",1)"

    Comme vous l'aurez surement remarqué, il y a déjà une variable dans la formule. En effet, il va allez rechercher dans le fichier maître l'informations qu'ils souhaitent dans le bon onglet. Tout ça est OK.


    MAIS je ne suis pas le seul à utiliser ce fichier. En effet, je l'ai implanter sur un dossier intra entreprise en Allemagne. Niveau sécurité, c'est hors-norme --'
    Ils ont tous accès aux fichiers, mais le chemin pour y accéder est différent entre chaque PC...

    Donc la macro ne fonctionne pas pour les autres....

    La chose pratique, je sais que l'ensemble des fichiers se trouvent dans le dossier "Flags" et que biensûr nous ouvrons le fichier maître et esclave en même temps pour faire fonctionner le tout.

    Etant donnée que je ne connais le dossier (juste le dossier final) où sont posés les fichiers et que nous ouvrons bien les deux fichiers dès le départ. Y'a t-il un moyen d'adapter ma formule pour que excel aille dans le fichier "Input_concept.xlsm" sans lui indiquer le chemin de départ ?


    Je trouve des explications sur les forums qui correspondent pas réellement à mon cas j'ai l'impression où qui ne fonctionne pas pour moi. Si vous avez des idées je suis prenneur ))))))

  2. #2
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 459
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 459
    Points : 16 335
    Points
    16 335
    Par défaut
    Bonjour

    INDIRECT ne fonctionne pas sur fichier fermé...
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  3. #3
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Oui je sais bien pour ça

    Nous travaillons toujours les deux fichiers ouverts.

    Mon problème est que le début de l’intitulé d’emplacement est totalement différent.
    C’est un fichier partagé sur un réseau intranet.
    Seul les 3 derniers sous dossiers sont les mêmes.

    Et c’est la variable d’emplacement que je n’arrive pas à saisir correctement..

  4. #4
    Expert éminent sénior

    Profil pro
    Conseil, Formation, Développement - Indépendant
    Inscrit en
    Février 2010
    Messages
    8 459
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Conseil, Formation, Développement - Indépendant

    Informations forums :
    Inscription : Février 2010
    Messages : 8 459
    Points : 16 335
    Points
    16 335
    Par défaut
    RE

    Si R1C désigne une portion du chemin il devrait être avant le nom du classeur

    Si les 2 fichiers sont toujours ensemble dans un même dossier, le chemin est inutile

    Utiliser la 1ère colonne d'un VLOOKUP n'as pas de sens puisque c'est la même chose que ce qu'on cherche : utiliser EQUIV (MATCH) ou éventuellement NB.SI (COUNTIF) mais cette dernière comme INDIRECT ne marche que sur fichier ouvert, cela simplifiera...
    Chris
    PowerQuery existe depuis plus de 13 ans, est totalement intégré à Excel 2016 &+. Utilisez-le !

    Quand un homme a faim, mieux vaut lui apprendre à pêcher que de lui donner un poisson.
    Confucius

    ----------------------------------------------------------------------------------------------
    En cas de résolution, n'hésitez pas cliquer sur c'est toujours apprécié...

  5. #5
    Candidat au Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2018
    Messages
    4
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 31
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2018
    Messages : 4
    Points : 3
    Points
    3
    Par défaut
    Merci de ta réponse,

    Chaque colonne du fichier esclave correspond à un onglet du fichier maître.
    Du coup R1C est la variable du titre d'en-tête.

    J'ai enlevé le chemin, mais comment dire... Woaww c'est long.

    Le calcul passe de 5 secondes à plus de 10 minutes :O

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveCell.FormulaR1C1 = _
     "=IF(ISERROR(VLOOKUP(RC1,INDIRECT(""'[Input_concept.xlsm]"" & R1C & ""'!$a$1:$a$1000""),1,0)),"""",1)"
    Je vais tenter ce que tu me propose comme solution au niveau de la formule voire si ça accélère les choses.

Discussions similaires

  1. [Batch] Remplacer champ dans un fichier txt à partir de variable d'entrée
    Par ThomasParis dans le forum Scripts/Batch
    Réponses: 14
    Dernier message: 26/09/2010, 16h47
  2. Réponses: 1
    Dernier message: 04/06/2010, 11h10
  3. Lire dans un fichier et afficher les variables utiles
    Par nypahe dans le forum Entrée/Sortie
    Réponses: 11
    Dernier message: 15/03/2009, 14h17
  4. stockage de répertoire dans autres fichiers
    Par isis1be dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 25/06/2008, 16h20
  5. Probleme pour imbriquer Fichier HTML dans autre Fichier
    Par Gerard du Bouchonnois dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 24/12/2005, 14h33

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