Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Chercher un classeur

S

sylsyl

Guest
Bonjour a tous,

comme toujours j'ai chercher une reponse a la question suivante dans l'historique du forum et comme rarement je n'ai rien trouve d'interessant.

Ma question est simple mais les mots-cles sont trop communs et me font tous partir dans un sens different:

Est-il possible de lancer un genre d'explorateur windows dans une
userform afin de choisir un classeur et de l'ouvrir ?

Encore mieux, un explorateur qui n'affiche que les fichiers .xls !

Il doit y avoir un controle, mais lequel ? (J'ai excel 97)

Merci pour votre habituelle aide et sympathie.

Syl.
 
M

michel

Guest
bonsoir sylsyl

peux tu tester la procedure ci joint qui affiche la boite de dialogue "ouvrir"

Sub ouvrir()
Application.Dialogs(xlDialogOpen).Show
End Sub


bonne soirée
Michel
 
S

sylsyl

Guest
Salut michel,

la comande est pafaite mais est-ce qu'il est possible d'en retirer le chemin du fichier ouvert ?

J'arrive a extraire le nom en ajoutant .application.caption et a indiquer un chemin par default avec .application.defaultfilepath mais .application.path semble me donner le chemin d'un outil excel...

En fait j'utilise la fonction suivante trouvee ici meme

Function IsWorkbookOpen(wbName As String) As
On Error Resume Next
IsWorkbookOpen = Len(Workbooks(wbName).Name)
End Function

et j'aimerais afficher l'explorateur si false, j'ai donc besoin de mettre un chemin par default qui serait le dossier dans lequel le fichier a ete trouve la derniere fois.

Merci beaucoup.

Un syl qui veut toujours faire mieux.
 
S

sylsyl

Guest
re-salut michel,

j'ai trouve "GetOpenFilename" mais il me donne le chemin + le nom du fichier ouvert. Comment faire pour extraire que le chemin ?

Je peux effacer toutes les lettres du string a partir de la droite jusqu'au premier "\" mais bon... ill doit y avoir mieux.

Merci.
 
S

sylsyl

Guest
Ca y est j'ai trouve:

Public Function OpenWPath(WorkName As String) As String

Dim Pa As String

Pa = Application.GetOpenFilename("Fichiers Excel(*.xls),*.xls,All Files (*.*),*.*", , "Please open the " & WorkName & " worbook")

OpenWPath = Left(Pa, Len(Pa) - Len(WorkName) - 4)

End Function

le "-4" est pour le ".xls" qui n'apparait pas dans mon "WorkName"

Merci beaucoup michel, je n'ai finalement pas utilise ta solution mais elle m'a beaucoup inspire. Je cherchais a tout prix un controle car je ne savais pas que ce genre de fenetre existait (ou plutot comment les utiliser). En plus j'ai decouvert pleins d'autres trucs du genre sauvegarde de copies,...

Encore merci...
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…