[VBA] Filesearch - Code de substitution ?
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:
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 |