Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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® 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 à 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
352
Réponses
9
Affichages
315
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…