XL 2010 Fenêtre avec liste cliquable et bouton créer

whiteshark

XLDnaute Nouveau
Bonjour à tous,

Je fais une nouvelle fois appel à vous pour m'aider.
Je cherche un moyen de faire une recherche de fichier excel avec un nom partiel, qu'il me liste les fichiers trouvés, que je puisse cliquer dessus pour les ouvrir et avoir en plus dans cette même boite de dialogue un bouton pour créer un nouveau fichier. Je m'explique :
Je fais de l'extraction de données à partir d'une base. Chaque extraction a un nom unique en fonction des données extraites comme par exemple "carotte-france" ou "melon-espagne". Actuellement j'ai une macros qui, lorsque je lance le processus d'extraction, va chercher dans le dossier "exports" si l'extraction de ce type de données a déjà été faite. Si un export existe il va m'ouvrir le fichier excel et sinon il m'affiche une MsgBox vbYesNo me disant qu'aucune fichier n'a été trouver et me demande si je veux le créer. Si oui il enclenche le reste du processus et si non rien ne se passe. Voilà la macro de recherche que j'utilise pour l'instant :

Sub Savoir_si_extraction_exist()

Dim NomFichier$, CheminRechercheDossier$, Fichier$
NomFichier = Sheets("Listing").Range("A2").Value & ".xlsm"
CheminRechercheDossier = "\\Serveur01\services\Gestion\Extraction"
fichier = Dir(CheminRechercheDossier & "\" & NomFichier)

Application.ScreenUpdating = False


If fichier <> "" Then
Workbooks.Open Filename:=CheminRechercheDossier & "\" & NomFichier

Else
Dim reponse As Integer
reponse = MsgBox("L'extraction n'existe pas. Voulez-vous le créer ?", vbYesNo, "Création d'une nouvelle extraction")

If reponse = vbYes Then
Call extraction
Else
If reponse = vbNo Then
Exit Sub


Application.ScreenUpdating = True

End If
End If
End If

End Sub

Tout marche très bien sauf que suite à une réorganisation du service les extractions seront fragmentées du genre "carotte-france-export", "carotte-france-import", "carotte-france-export-bio", "carotte-france-import-bio", etc.
Du coup ce que je voudrais faire maintenant c'est lancer une recherche non pas sur le nom exacte de l'extraction mais avec un nom partiel comme "carotte-france" et qu'il me cherche tous les fichiers dont le nom contient cette occurrence. Soit il ne trouve rien et il me remet la MsgBox vbYesNo avec voulez-vous créer le fichier, soit, et là ça se complique sérieusement, il trouve au moins 1 fichier. Dans ce cas je voudrais qu'il m'affiche une boite de dialogue avec la liste de tous les fichiers contenant le nom "carotte-france" (donc "carotte-france-export", "carotte-france-import", "carotte-france-export-bio", "carotte-france-import-bio") et que je puisse cliquer sur les références de la liste pour ouvrir l'un des fichiers existant, et je voudrais en plus un bouton créer pour lancer le processus afin de faire une nouvelle extraction si celle dont j'ai besoin n'a pas encore été faite. Et avec un bouton annuler si je ne veux rien faire.
Je n'ai absolument aucune idée de comment faire une telle boite de dialogue avec recherche par nom partiel, lien cliquable de la liste de fichiers existant et les boutons créer et annuler 😅.

Vraiment je vous remercie d'avance pour votre aide.
 

sousou

XLDnaute Barbatruc
Bonjour.
Pour débuter, regarde ce fichier, qui va filtrer les fichiers existants dans un dossier.
Modifie la constante chemin .
elle ne traite pas l'existance ou pas de sous-dossier,mais il semble que tu n'en ai pas besoin.
à voir la suite
 

Pièces jointes

  • recherche.xlsm
    18.1 KB · Affichages: 24

whiteshark

XLDnaute Nouveau
Merci pour ta réponse.
Ce n'est pas tout à fait ce que je voudrais, je souhaiterais que la recherche se fasse vraiment automatiquement et qu'il me dise tout de suite, en appuyant sur le bouton, si des fichiers ont été trouvé et qu'il me donne directement la liste sans que j'ai besoin d'intervenir.
Mais par contre je n'avais pas du tout pensé à l'userform pour faire ça et du coup c'est une piste que je vais explorer même si j'avoue que je n'y connais pas grand chose dans se domaine.
 

Discussions similaires

Statistiques des forums

Discussions
311 725
Messages
2 081 940
Membres
101 845
dernier inscrit
annesof