XL 2010 Résolu par JCGL et Jacky67 : trouver "en direct" le classeur à ouvrir

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à toutes et à tous,

Petit souci que je n'arrive pas à résoudre. Il n'y a peut-être pas de solution.
Je tente d'exposer LOL :
Pour l'exécution d'une macro "mise à jour" d'adresses mails, j'ai un classeur de base à ouvrir.
j'ai donc un code qui fonctionne à partir d'un ordinateur (Cet ordinateur est en réseau).
Code:
Dim wb As Workbook
Dim ws As Worksheet
Set wb = Workbooks.Open("C:\Users\bellivier.l\Desktop\Travail journalier\00 Action\00 Clients\isiTel liste clients.xlsm")
Set ws = wb.Worksheets(4)

Mais voilà, je travaille sur plusieurs ordinateurs (pas en réseau) sur lesquels sont les classeurs et les chemins d'accès du classeur à ouvrir sont différents.

Résultat, ça ne marche plus.

Est-il possible de rechercher le classeur à ouvrir avec son nom sans passer par un "chemin" ?

Malgré mes recherches, je n'ai pas trouvé.
En espérant avoir été "compréhensible" je vous remercie vivement de m'avoir lu.
Bon WE à toutes et à tous,
Amicalement,
Lionel,
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à tous,
Salut Lionel,

Si tu peux lister tous les chemins possibles, un On Error Resume Next devrait convenir.

A+ à tous

Bonjour,
Merci de m'avoir répondu, LOL, j'arrivais à vouloir tester "On Error Resume Next".
car, en fait, sur les ordinateurs les classeurs sont toujours dans le même. Ce n'est que le chmin qui change.
Donc, j'ai toujours : ............. 00 Clients\isiTel liste clients
je reviens te dire.
Amicalement,
Lionel,
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour à tous,
Salut Lionel,

Si tu peux lister tous les chemins possibles, un On Error Resume Next devrait convenir.

A+ à tous

Re JCGL

Suite à ton conseil, j'ai fait comme ça :
Code:
Sub MAJlisteClients()
Application.EnableEvents = False
Application.ScreenUpdating = False
On Error Resume Next
Dim wb As Workbook
Dim ws As Worksheet
Set wb = Workbooks.Open("C:\Users\bellivier.l\Desktop\Travail journalier\00 Action\00 Clients\isiTel liste clients.xlsm")
Set wb = Workbooks.Open("C:\Users\lionel\Desktop\Travail\00 Clients\isiTel liste clients.xlsm")
Set ws = wb.Worksheets(4)

ça fonctionne, un grand merci à toi.
Amicalement,
Lionel,

PS : je teste la piste de JJ
 

JCGL

XLDnaute Barbatruc
Bonjour à tous,

Demande initiale...
Mais voilà, je travaille sur plusieurs ordinateurs (pas en réseau) sur lesquels sont les classeurs et les chemins d'accès du classeur à ouvrir sont différents.

Maintenant ils sont tous dans le même dossier...
Bonjour JJ,
Oui, les classeurs sont toujours dans le même dossier.

A+ à tous
 

Usine à gaz

XLDnaute Barbatruc
Supporter XLD
Bonjour,
Si le classeur à ouvrir se trouve sur chaque ordinateur et dans le même répertoire que celui qui l'ouvre,
tu pourrais utiliser

Re JJ,
Super, ça marche aussi :)
J'ai une question :
Le fichier à ouvrir contient plusieurs feuilles.
Pour être sur la bonne feuille, je fais comme ça ?
Code:
Sub MAJlisteClients()
Application.EnableEvents = False
Application.ScreenUpdating = False
Workbooks.Open ThisWorkbook.Path & "\isiTel liste clients.xlsm"
Set ws = wb.Worksheets(4)

Encore merci.
Amicalement,
Lionel,
 

Jacky67

XLDnaute Barbatruc
Re JJ,
Super, ça marche aussi :)
J'ai une question :
Le fichier à ouvrir contient plusieurs feuilles.
Pour être sur la bonne feuille, je fais comme ça ?
Code:
Set ws = wb.Worksheets(4)

Lionel,
Re....
Dans ton cas la feuille doit toujours être placée en position 4.
Il y aura des erreurs si quelqu'un déplace la feuille
Dans ce cas il est préférable d'utiliser le nom de la feuille
Perso, j'utilise le plus possible le "CodeName" de la feuille, ainsi la feuille peut-être renommée ou déplacée sans incidence sur le code
 
Dernière édition:

Statistiques des forums

Discussions
311 725
Messages
2 081 943
Membres
101 849
dernier inscrit
florentMIG