XL 2013 vba ouvrir un classeur en trouvant uniquement avec son nom

Usine à gaz

XLDnaute Barbatruc
Bonjour à toutes et à tous,
Tout d’abord je vous souhaite un très beau dimanche.

Je me tourne à nouveau vers vous pour un problème que je n’arrive pas à résoudre malgré mes recherches et essais.

Je travaille sur 2 ordinateurs à des heures différentes :
La journée en horaires normaux, sur mon, ordi principal dans mon bureau et,
Le soir sur l’ordinateur dans ma chambre.

Par exemple, pour ouvrir un fichier, voici ci-dessous le code vba, que j’utilise dans mon fichier déjà ouvert sur mon ordi principal :

Code:
Dim wb As Workbook
  Dim ws As Worksheet
  Set wb = Workbooks.Open("C:\Users\lionel\Desktop\IsiTel_dossier\01 ImmobRdV NF\isitelFacturation Charlotte.xlsm")
  Set ws = wb.Worksheets(1)

Mais voilà, le chemin n’est pas le même dans l’ordinateur de ma chambre (ci-dessous le chemin) :
C:\Users\lionel\Documents\isiTel_dossier\01 ImmobRdV NF\isitelFacturation Charlotte.xlsm

Est-il possible de rechercher et d’ouvrir un fichier en mettant dans le code vba uniquement son nom ?

Exemple :
Code:
Dim wb As Workbook
  Dim ws As Worksheet
  Set wb = Workbooks.Open("C:\isitelFacturation Charlotte.xlsm")
  Set ws = wb.Worksheets(1)

Pas du tout certain que ce soit possible mais ça m'arrangerait bien :)

Avec mes remerciements déjà pour m'avoir lu,
Amicalement,
Arthour973,
 
Dernière édition:

Modeste geedee

XLDnaute Barbatruc
bonsour®
Bonjour à toutes et à tous,
Tout d’abord je vous souhaite un très beau dimanche.

Je me tourne à nouveau vers vous pour un problème que je n’arrive pas à résoudre malgré mes recherches et essais.

Je travaille sur 2 ordinateurs à des heures différentes :
La journée en horaires normaux, sur mon, ordi principal dans mon bureau et,
Le soir sur l’ordinateur dans ma chambre.

Par exemple, pour ouvrir un fichier, voici ci-dessous le code vba, que j’utilise dans mon fichier déjà ouvert sur mon ordi principal :

Code:
Dim wb As Workbook
  Dim ws As Worksheet
  Set wb = Workbooks.Open("C:\Users\lionel\Desktop\IsiTel_dossier\01 ImmobRdV NF\isitelFacturation Charlotte.xlsm")
  Set ws = wb.Worksheets(1)

Mais voilà, le chemin n’est pas le même dans l’ordinateur de ma chambre (ci-dessous le chemin) :
C:\Users\lionel\Documents\isiTel_dossier\01 ImmobRdV NF\isitelFacturation Charlotte.xlsm

Est-il possible de rechercher et d’ouvrir un fichier en mettant dans le code vba uniquement son nom ?

Exemple :
Code:
Dim wb As Workbook
  Dim ws As Worksheet
  Set wb = Workbooks.Open("C:\isitelFacturation Charlotte.xlsm")
  Set ws = wb.Worksheets(1)

Pas du tout certaine que ce soit possible mais ça m'arrangerait bien :)

Avec mes remerciements déjà pour m'avoir lu,
Amicalement,
Arthour973,
essaie cette instruction :
VB:
Option Explicit

Sub toto()
Dim filetoopen As Variant
filetoopen = Application.GetOpenFilename("fichier excel , *.xlsm")
If filetoopen <> False Then
    MsgBox "Open " & filetoopen
End If
End Sub
il peut bien sur etre nécessaire de naviguer dans l'arborescence locale
 

Usine à gaz

XLDnaute Barbatruc
Bonjour Patrice33740,
Merci pour ta réponse et suggestion.
J'avais vu cela mais je voulais savoir s'il est possible de rechercher et d’ouvrir un fichier en mettant dans le code vba uniquement son nom ?

Car cela me sera utile pour un autre ordi qui n'a pas le même chemin :)

Amicalement,
arthour973,
 

Patrice33740

XLDnaute Impliqué
Re,

Le risque est qu'il y ait plusieurs fichiers avec le même nom !
Utiliser un répertoire relatif est le plus simple et le plus portable.

Cependant, il est possible de chercher un fichier (par exemple avec le FSO) mais c'est risqué et ça peut être long.
Il me semble plus efficace et plus sûr de chercher un chemin (avec une partie de son nom, par exemple \IsiTel_dossier\01 ImmobRdV NF\) avant d'y chercher le fichier.
Voir : http://warin.developpez.com/access/fichiers/
 

Jacky67

XLDnaute Barbatruc
Bonjour à toutes et à tous,
Tout d’abord je vous souhaite un très beau dimanche.

Je me tourne à nouveau vers vous pour un problème que je n’arrive pas à résoudre malgré mes recherches et essais.

Je travaille sur 2 ordinateurs à des heures différentes :
La journée en horaires normaux, sur mon, ordi principal dans mon bureau et,
Le soir sur l’ordinateur dans ma chambre.

Par exemple, pour ouvrir un fichier, voici ci-dessous le code vba, que j’utilise dans mon fichier déjà ouvert sur mon ordi principal :

Code:
Dim wb As Workbook
  Dim ws As Worksheet
  Set wb = Workbooks.Open("C:\Users\lionel\Desktop\IsiTel_dossier\01 ImmobRdV NF\isitelFacturation Charlotte.xlsm")
  Set ws = wb.Worksheets(1)

Mais voilà, le chemin n’est pas le même dans l’ordinateur de ma chambre (ci-dessous le chemin) :
C:\Users\lionel\Documents\isiTel_dossier\01 ImmobRdV NF\isitelFacturation Charlotte.xlsm

Est-il possible de rechercher et d’ouvrir un fichier en mettant dans le code vba uniquement son nom ?

Exemple :
Code:
Dim wb As Workbook
  Dim ws As Worksheet
  Set wb = Workbooks.Open("C:\isitelFacturation Charlotte.xlsm")
  Set ws = wb.Worksheets(1)

Pas du tout certain que ce soit possible mais ça m'arrangerait bien :)

Avec mes remerciements déjà pour m'avoir lu,
Amicalement,
Arthour973,

Bonjour à tous,
Perso, je fais en testant le nom de l'ordinateur
MsgBox Environ("COMPUTERNAME") 'pour connaitre le nom du pc utilisé
If Environ("COMPUTERNAME") = "Maison" Then ' "Maison">>est un exemple
Set wb = Workbooks.Open("C:\isitelFacturation Charlotte.xlsm")
Else
Set wb = Workbooks.Open("C:\Users\lionel\Desktop\IsiTel_dossier\01 ImmobRdV NF\isitelFacturation Charlotte.xlsm")
End If
 

Discussions similaires

Réponses
3
Affichages
405
Réponses
9
Affichages
342

Statistiques des forums

Discussions
315 096
Messages
2 116 184
Membres
112 679
dernier inscrit
Yupanki