Retrouver le chemin d'un fichier Word (ou Excel) avec uniquement son nom

Résolu
LUSTRUCRU Messages postés 91 Date d'inscription mardi 8 avril 2003 Statut Membre Dernière intervention 15 mars 2013 - 11 janv. 2009 à 17:08
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 11 janv. 2009 à 19:49
Bonjour et tous mes voeux pour cette nouvelle année


Voici mon petit problème


Dans une appli Excel  je souhaite ouvrir un fichier word "Toto.doc" , problème je ne connait pas son chemin sur le ou les disques du PC (les differents utilisateurs de l'appli pouvant enregistrer ce fichier n'importe ou.

Voici le code qui me permet d'ouvrir le fichier (sur le click d'un label ayant TOTO en caption):

Dim wdApp As New Word.Application
Dim wdDoc As Word.DocumentwdApp.Visible = True
Set wdDoc = wdApp.Documents.Open("D:\\Mes Documents\Dossier_Données" & LBNomBE.caption & ".Doc")
Set wdDoc = Nothing
Set wdApp = Nothing

Bien sur, là cela fonctionne mais si l'utilisateur le met sous la racine C:\ par exemple .......C'est le bout de cde en Bleu que je voudrai laissé , j'espere avoir été assez clair
Merci d'avance pour votre aide
JF

4 réponses

PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
11 janv. 2009 à 19:49
c'est vrai que c'est pas indiqué dans ce snippet : il faut ajouter le composant MS commondialog

sinon (cf lien) il y a d'autres propositions également
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
11 janv. 2009 à 17:39
salut,

il faut qu'au click tu ouvres une boite de dialogue pour laisser l'utilisateur choisir son fichier



<hr />
'    BOITE DE DIALOGUE POUR CHOISIR UN FICHIER
'    http://www.codyx.org/snippet_boite-dialogue-pour-choisir-fichier_514.aspx#1610
'    Posté par [ us_30 ] le 08/12/2007
<hr />




Function 
FileOpen(
Optional ByVal 
sTitle 
As String
=
"Choisir le(s) fichier(s)"

Optional ByVal 
bAllowMultiSelect 
As Boolean

=
True
,
Optional ByVal
sFiltreName
As String
=
"Images"

Optional ByVal 
sFiltreContent 
As String
=
"*.bmp; *.gif; *.jpg; *.jpeg;
*.png"

As String


' CHOIX D'UN FICHIER PAR
VBA

    
    Dim fd As FileDialog
    Set fd = Application.FileDialog(msoFileDialogFilePicker)
    Dim vrtSelectedItem As Variant
    With fd
        .Title = sTitle                   'Titre
        .AllowMultiSelect = bAllowMultiSelect 'Choix multiples
        .Filters.Add sFiltreName, sFiltreContent, 1 'Filtre image
        If .Show = -1 Then
            For Each vrtSelectedItem In .SelectedItems
                FileOpen = Trim(FileOpen & "|" & vrtSelectedItem)
            Next vrtSelectedItem
        Else
            'Bouton
Annuler
        End If
    End With
    Set fd = Nothing
End Function







<hr size="2" width="100%" />
Prenez un instant pour répondre à [sujet-SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp 
0
LUSTRUCRU Messages postés 91 Date d'inscription mardi 8 avril 2003 Statut Membre Dernière intervention 15 mars 2013
11 janv. 2009 à 18:17
Merci PCPT,
Mais je comment je lance la fonction , faut -il la mettre dans un module si  oui, j'essaye un call et cela ne fonctionne pas.
0
LUSTRUCRU Messages postés 91 Date d'inscription mardi 8 avril 2003 Statut Membre Dernière intervention 15 mars 2013
11 janv. 2009 à 18:44
Bon j'ai trouvé,
Autre problème il me renvoit l'erreur suivante :

erreur de compilation
Type défini par l'utilisateur non défini

sur la ligne : "Dim fd As FileDialog"

Mais par milles sabord ou est le Bug ???
0
Rejoignez-nous