Lister les autres classeurs dans le dossier du classeur actif

Résolu
BABUDROME Messages postés 151 Date d'inscription lundi 16 janvier 2006 Statut Membre Dernière intervention 19 avril 2016 - 3 déc. 2013 à 12:58
BABUDROME Messages postés 151 Date d'inscription lundi 16 janvier 2006 Statut Membre Dernière intervention 19 avril 2016 - 4 déc. 2013 à 11:09
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

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
Modifié par ucfoutu le 3/12/2013 à 13:32
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
0
BABUDROME Messages postés 151 Date d'inscription lundi 16 janvier 2006 Statut Membre Dernière intervention 19 avril 2016
3 déc. 2013 à 15:47
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 ?
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
3 déc. 2013 à 16:35
Ce ne sera pas la peine.
Regarde comment j('ai modifié ton titre.
Est-ce cela, ta difficulté ?
0
BABUDROME Messages postés 151 Date d'inscription lundi 16 janvier 2006 Statut Membre Dernière intervention 19 avril 2016
4 déc. 2013 à 08:15
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
4 déc. 2013 à 08:38
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).
0
BABUDROME Messages postés 151 Date d'inscription lundi 16 janvier 2006 Statut Membre Dernière intervention 19 avril 2016
4 déc. 2013 à 11:09
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
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
4 déc. 2013 à 10:28
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.
0
Rejoignez-nous