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 :

Recherche X dans un autre fichier - erreur dans mon chemin d'accès?


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre du Club
    Femme Profil pro
    Salariée
    Inscrit en
    Juillet 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Salariée

    Informations forums :
    Inscription : Juillet 2021
    Messages : 6
    Par défaut Recherche X dans un autre fichier - erreur dans mon chemin d'accès?
    Bonjour à tous,

    C'est la première fois que je viens sur le Forum, je débute en VBA depuis 3 semaines environ et je ne parviens pas à trouver la solution à mon souci.
    J'ai quasiment terminé mon fichier en cours et j'ai juste un truc que je voudrais régler. En effet j'ai une recherche X qui se lance à un moment (toutes les macros s'enchainent après avoir cliqué sur un bouton) mais au moment de cette recherche X Excel ouvre un explorateur et je dois spécifier où se trouve mon fichier source.

    Il y a-t-il moyen que je modifie mon code pour qu'Excel le trouve tout seul sans ouverture de l'explorateur (le fichier source est toujours au même endroit)?

    J'ai tenté diverses solutions mais je ne trouve pas.

    Voici mon code actuel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveCell.FormulaR1C1 = _
          "=XLOOKUP(RC[-1],'[Fichier clients TE Maison Net.xlsx]fichier client Isara'!C10,'[Fichier clients TE Maison Net.xlsx]fichier client Isara'!C7,"""",0)"
    Voici ce que j'ai essayé, en spécifiant le chemin complet, mais ça ne fonctionne pas (erreur 1004)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveCell.FormulaR1C1 = _
          "=XLOOKUP(RC[-1],'[M:\Maison-Net (Team Folder)\1. Gestion agences Maison Net\OUTILS TE\Rapports TE\Fichier clients TE Maison Net.xlsx]fichier client Isara'!C10,'[M:\Maison-Net (Team Folder)\1. Gestion agences Maison Net\OUTILS TE\Rapports TE\Fichier clients TE Maison Net.xlsx]fichier client Isara'!C7,"""",0)"
    J'ai alors pensé à contourner mon problème en ajoutant une macro qui ouvre et qui ferme ensuite mon fichier source mais là je coince sur un autre souci, c'est que mes macros s'exécutent alors sur mon fichier source et pas sur celui que j'ai créé.... et là je ne suis pas arrivée à trouver le bon code pour resélectionner le fichier sur lequel les macros doivent s'exécuter.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Sub Ouvrir2()
     
    Workbooks.Open Filename:="M:\Maison-Net (Team Folder)\1. Gestion agences Maison Net\OUTILS TE\Rapports TE\Fichier clients TE Maison Net.xlsx"
    Workbooks("Planning de la semaine essai avec ouverture fichier client et fermeture.xlsm").Activate
    End Sub
     
     
    Sub Fermer()
    Application.DisplayAlerts = False
    Workbooks("Fichier clients TE Maison Net.xlsx").Close
    End Sub

    Pouvez-vous m'aider?

    Merci à vous et excellente journée

    Lorence

    PS : je vous mets le fichier en copie, ça sera peut être plus clair car débutante en VBA je ne suis pas sure de m'exprimer clairement
    Fichiers attachés Fichiers attachés

  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 173
    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 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Il y a-t-il moyen que je modifie mon code pour qu'Excel le trouve tout seul sans ouverture de l'explorateur (le fichier source est toujours au même endroit)?
    Vous ne précisez pas si le nom du classeur que vous cherchez est connu. Parce-que évidemment aucun code VBA ne va trouver tout seul un fichier et l'ouvrir s'il n'y a pas de valeurs connues

    Alors si le nom est connu et que vous connaissez le répertoire, la fonction Dir peut faire l'affaire, si par contre, il faut parcourir l'ensemble de votre disque, c'est une autre affaire et là les outils mis à disposition sont plus complexes à gérer si comme vous l'écrivez vous débutez avec Excel

    Pour vous aider, il faudrait en savoir plus sans pour cela nous montrer votre code VBA. Juste ce que vous cherchez à obtenir.
    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
    Membre du Club
    Femme Profil pro
    Salariée
    Inscrit en
    Juillet 2021
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Salariée

    Informations forums :
    Inscription : Juillet 2021
    Messages : 6
    Par défaut
    Bonjour,

    Mon fichier qui contient les informations de ma recherche X est connu et ne change jamais de nom, il se trouve ici :

    M:\Maison-Net (Team Folder)\1. Gestion agences Maison Net\OUTILS TE\Rapports TE\Fichier clients TE Maison Net.xlsx

    Je voudrais que ma formule en macro dont la recherche X fait référence à ce fichier fonctionne sans avoir l'ouverture de l'explorateur de fichier mais cette macro ne fonctionne pas :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveCell.FormulaR1C1 = _
          "=XLOOKUP(RC[-1],'[M:\Maison-Net (Team Folder)\1. Gestion agences Maison Net\OUTILS TE\Rapports TE\Fichier clients TE Maison Net.xlsx]fichier client Isara'!C10,'[M:\Maison-Net (Team Folder)\1. Gestion agences Maison Net\OUTILS TE\Rapports TE\Fichier clients TE Maison Net.xlsx]fichier client Isara'!C7,"""",0)"

    Celle ci oui, mais avec ouverture de l'explorateur, ce que je cherche à supprimer comme étape

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    ActiveCell.FormulaR1C1 = _
          "=XLOOKUP(RC[-1],'[Fichier clients TE Maison Net.xlsx]fichier client Isara'!C10,'[Fichier clients TE Maison Net.xlsx]fichier client Isara'!C7,"""",0)"

  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 173
    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 173
    Billets dans le blog
    53
    Par défaut
    Bonjour,
    Si le fichier et son emplacement est connu, il suffit d'ouvrir le classeur en question à l'aide de la méthode Open de l'objet Workbook avant de faire la recherche
    Exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Workbooks.Open FileName:="Chemin + nom du classeur"
    Je rappelle qu'il est possible de faire une recherche sur un autre classeur sans passer par du VBA mais qu'il est préférable de passer par Power Query en faisant une copie de la plage source et faire la recherche en local
    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

Discussions similaires

  1. Réponses: 11
    Dernier message: 13/08/2013, 10h18
  2. Réponses: 1
    Dernier message: 22/04/2013, 12h28
  3. Réponses: 3
    Dernier message: 21/04/2013, 23h33
  4. Réponses: 2
    Dernier message: 15/12/2011, 09h09
  5. Réponses: 3
    Dernier message: 18/05/2009, 13h50

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