Bonjour à tous.
J'ai trouvé un code qui m'intéresse beaucoup. (Voir en fin de post pour l'exemple.)
Cependant la fonction .filesearch n'est plus disponible dans excel 2007.
La réponse est peut-être déjà sur le forum mais quelque soit les mots clef rentrés, je ne trouve rien.
Les seuls exemples que je trouve sont des " listage" de fichiers présents dans un répertoire.
( http://silkyroad.developpez.com/vba/classefilesearch/)
Y a-t-il une possibilité d'ouvrir directement le fichier ?
Sachant que la version d'excel est installée sur un serveur d'entreprise en multi-licence et que les droits administrateur sont verrouillés. Donc impossibilité de rajouter le fichier ClasseFileSearch.xla dans le dossier Addins.
Dans le même répertoire, il y a environ 700 fichiers du même type.
1 code alphanumérique à 5 chiffres - Nom client.xls
03252 - Machin.xls etc...
Plutôt que de perdre du temps à ouvrir le répertoire et à chercher (La manipulation peut être faite jusqu'à 80 fois voire plus par jour), je souhaiterais juste taper le code client dans la fenêtre de dialogue et valider pour ouvrir.
Est-ce définitivement infaisable dans Excel 2007 ?
Merci d'avance pour vos réponses.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 Sub test() Dim nom As String 'déclare la variable nom dim noncomplet as string 'déclare la variable nomcomplet Dim chem As String 'déclare la variable chem nom = InputBox("Nom du classeur") 'définit la variable nom (début du nom du fichier) chem = ActiveWorkbook.Path 'définit la variable chem (chemin d'accès du classeur actuel, à adapter) With Application.FileSearch 'recherche de fichier .LookIn = chem 'dans le même répertoire que le fichier actuel .SearchSubFolders = True 'dans les sous-répertoires .Filename = nom & "*.xls" 'tous les fichiers Excel commençant par le nom de la boite If .Execute > 0 Then 'si au moins un fichier est trouvé nomcomplet = .FoundFiles(1) 'définit le nom complet du fichier trouvé Workbooks.Open (nomcomplet) 'ouvre le fichier End If End With End Sub
Partager