Accéder à un répertoire à partir de .GetOpenFilename
Résolu
conrade82
Messages postés
96
Date d'inscription
Statut
Membre
Dernière intervention
-
celine -
celine -
Bonjour,
Je travaille sur un fichier dont certaines feuilles doivent être mise à jour à partir d'autre fichier. Un de ces fichiers est situé sur un autre répertoire réseau et porte un nom différent exemple Ditri 689, 690, 670... ainsi de suite. Il est actualisé deux à trois fois par semaine.
Au début j'ai voulu trouver le moyen de repérer le dernier fichier modifier du répertoire. Dommage, je n'ai rien trouvé qui me convienne car le répertoire ne contient pas que ce fichier...
Récemment, j'ai découvert le code application.GetOpenFilename("Fichier Excel (*.xls),*.xls") e j'ai aimé car je peux faire ceci : Distri=application.GetOpenFilename("Fichier Excel (*.xls),*.xls") Distri étant une variable string qui pourra me servir plus loin dans le traitement de ma macro.
Mon souci: ce code démarre la "fonction" OUVRIR d'excel pour ouvrir un fichier excel. Mais la fenêtre qui s'ouvre est par défaut soit le dernier répertoire qu'on a ouvert dans Excel soit Mes Documents ou un truc dans le genre. Ma question: comment pus-je faire pour que la fenêtre s'ouvre directement sur le chemin d'accès réseau qui m'intéresse pour y sélectionner le fichier recherché qui sera appelé plus tard dans ma macro ?
Merci d'avance de votre aide.
Je travaille sur un fichier dont certaines feuilles doivent être mise à jour à partir d'autre fichier. Un de ces fichiers est situé sur un autre répertoire réseau et porte un nom différent exemple Ditri 689, 690, 670... ainsi de suite. Il est actualisé deux à trois fois par semaine.
Au début j'ai voulu trouver le moyen de repérer le dernier fichier modifier du répertoire. Dommage, je n'ai rien trouvé qui me convienne car le répertoire ne contient pas que ce fichier...
Récemment, j'ai découvert le code application.GetOpenFilename("Fichier Excel (*.xls),*.xls") e j'ai aimé car je peux faire ceci : Distri=application.GetOpenFilename("Fichier Excel (*.xls),*.xls") Distri étant une variable string qui pourra me servir plus loin dans le traitement de ma macro.
Mon souci: ce code démarre la "fonction" OUVRIR d'excel pour ouvrir un fichier excel. Mais la fenêtre qui s'ouvre est par défaut soit le dernier répertoire qu'on a ouvert dans Excel soit Mes Documents ou un truc dans le genre. Ma question: comment pus-je faire pour que la fenêtre s'ouvre directement sur le chemin d'accès réseau qui m'intéresse pour y sélectionner le fichier recherché qui sera appelé plus tard dans ma macro ?
Merci d'avance de votre aide.
A voir également:
- Vba application.getopenfilename
- Creer un groupe whatsapp a partir d'un autre groupe - Guide
- Annuaire portable gratuit a partir d'un nom ✓ - Forum Mobile
- Chaque fichier en ligne sur le web a un chemin d’accès sur un serveur. c’est le cas du fichier du logo présent sur la page de cette ville. quel est le chemin de ce fichier à partir de la racine du site ? - Forum Graphisme
- Comment faire une recherche à partir d'une photo - Guide
- Trouver un numero de portable a partir d'un nom svp - Forum Réseaux sociaux
3 réponses
Essaies cette fonction
et pour rendre le dossier actif
chdir chemin
Michel
Function recherchedossier() ' @+thierry_xld et michel_m Dim ObjShell As Object, ObjFolder As Object Dim Message As String Dim Chemin As String Message = "Faire la Sélection du Repertoire de sauvegarde:" Set ObjShell = CreateObject("Shell.Application") Set ObjFolder = ObjShell.BrowseForFolder(&H0&, Message, 1) On Error Resume Next 'Si on sort sans sélection Chemin = ObjFolder.ParentFolder.ParseName(ObjFolder.Title).Path & "\" If Chemin = "" Then End recherchedossier = Chemin End Function
et pour rendre le dossier actif
chdir chemin
Michel
Un bug sur les balises codes nous empêche de placer : "\"
Par conséquent, lorsque tu places un "\" entre les balises code comme tu l'as fait, pour qu'il apparaisse à la lecture, il faut que tu le double : "\\"
Essai 1 : "" donne EDIT : oh ben là il est même pas passé en dehors des balises code...
Essai 2 : "\\" donne
C'est embêtant car quand il n'apparait pas, le code sort avec une erreur "le fichier n'existe ^pas" blablabla...
Voilà
A+
ta proposition ne me convient pas Michel. Je pensais qu'on pouvais cibler le répertoire dans lequel l'ouverture du fichier se ferait... là tu me donnes une autre façon d'ouvrir un dossier ce que mon code de départ fait déjà. Mon but c'est d'éviter la personne qui lance ma macro de devoir rechercher l'accès réseau vers lequel on doit sélectionner le fichier qui nous intéresse. Ou alors je n'ai pas compris ton idée.
Une idée svp?
Très Cdt,