Lister les autres classeurs dans le dossier du classeur actif [Résolu]

Signaler
Messages postés
151
Date d'inscription
lundi 16 janvier 2006
Statut
Membre
Dernière intervention
19 avril 2016
-
Messages postés
151
Date d'inscription
lundi 16 janvier 2006
Statut
Membre
Dernière intervention
19 avril 2016
-
Bonjour,
En VBA :
1) Comment extraire le nom du classeur ayant ouvert Excel ?
2) Quel dialogue ouvrir pour lister (avec filtre) des fichiers dans le dossier de l'application et récupérer un nom de la liste donnée ?
J'ai déjà fait cela, mais n'ayant plus l'accès à mes sources VB6 (je suis sous windows 8.1) ...
Merci d'avance bab

4 réponses

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
Bonjour,
1) Une seule question par discussion, s'il te plait. C'est une règle incontournable ici (et pour cause ... comme sur tout forum technique. Impossible, autrement, de retrouver la solution technique à une difficulté parfaitement isolée).
Laquelle choisis-tu donc ?
2) "mais n'ayant plus l'accès à mes sources VB6 "
Euh .. l'appli est finalement développée sous quoi ? VBA/Excel (la présente section) ou VB6 (autre section) ?.
3) "extraire le nom du classeur ayant ouvert Excel " n'est pas vraiment compréhensible (et est peut-être en lien avec la réponse apportée en 2))

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviend
Messages postés
151
Date d'inscription
lundi 16 janvier 2006
Statut
Membre
Dernière intervention
19 avril 2016

Bonjour,
Désolé pour le 'charabia' émis.
Mon principal besoin est de lister un sous-ensemble de fichiers inscrits dans un dossier donné, et cela dans un module d'Excel.
Dois-je rédiger une nouvelle discussion ?
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
Ce ne sera pas la peine.
Regarde comment j('ai modifié ton titre.
Est-ce cela, ta difficulté ?
Messages postés
151
Date d'inscription
lundi 16 janvier 2006
Statut
Membre
Dernière intervention
19 avril 2016

Très précisément, je veux afficher des documents affichés dans une boîte de dialogue pour en sélectionner 1 seul parmi plusieurs.
Pour l'instant, j'utilise les instructions suivantes :
Sub SelectBase()
Dim Fd As FileDialog ,F_Base$
Set Fd = Application.FileDialog(msoFileDialogFilePicker)
Dim vrtSelectedItem As Variant
With Fd
.Filters.Clear
.Filters.Add "Sélectionner", "*.DAT"
If .Show = -1 Then
For Each vrtSelectedItem In .SelectedItems
F_Base = vrtSelectedItem
Next vrtSelectedItem
Else
F_Base = "" 'Si Annuler est cliqué
End If
End With: Debug.Print F_base
Set Fd = Nothing: End Sub


J'aimerai que la fenêtre de dialogue s'ouvre sur un dossier bien défini (Cf APP.Path par exemple), et si possible définir un filtre plus sélectif, tel "Mes Docs*.DAT".
Voilà. Il n'est pas facile de préciser une telle question, surtout qu'au début de ma recherche, je n'avais pas encore ces quelques lignes.
Merci de ton attention. Bab
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
Il te suffit simplement de modifier la propriété filter
Je te signale que :
1) tu peux la définir en deux temps, si tu le souhaites, genre ===>>
toto = "blabla*.suf"
.Filters.Add "blibli", toto
2) si tu veux ouvrir sur un dossier particulier, utrilise donc la propriété .InitialFileName (et mets-y le chemin de ce dossier).
Messages postés
151
Date d'inscription
lundi 16 janvier 2006
Statut
Membre
Dernière intervention
19 avril 2016

Merci de tes indications et vais me dépêcher de les appliquer.
La sélection que je réalise a pour but d'offrir à l'utilisateur du tableur le contenu du document (base personnelle sauvegardée) qu'il aura lui- même constitué. Par contre ce tableur peut être utilisé par une autre personne avec ses propres informations.
Par exemple : "BASE DE toto,TXT", "BASE DE Jean-Paul.TXT, etc...

Je verrais ultérieurement comment "charger" une ListeBox pour faire la même sélection.
Salut et encore merci. Bab
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
237
J'appelle par ailleurs ton attention sur les dangers de l'utilisation de cette boîte de dialogue, à partir de laquelle un utilisateur pourrait effectuer des opérations non désirées sur les fichiers, y compris sur ceux placés ailleurs sur ton disque dur.
Je ne courrais personnellement pas un tel risque et ferais le choix d'une listbox, dans laquelle ne figurerait que ce que je veux et dont je maitriserais les opérations à faire sur les fichiers y sélectionnés.