Retrouver le chemin d'un fichier Word (ou Excel) avec uniquement son nom [Résolu]

Signaler
Messages postés
91
Date d'inscription
mardi 8 avril 2003
Statut
Membre
Dernière intervention
15 mars 2013
-
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
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

Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
39
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
Messages postés
13280
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
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 
Messages postés
91
Date d'inscription
mardi 8 avril 2003
Statut
Membre
Dernière intervention
15 mars 2013

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.
Messages postés
91
Date d'inscription
mardi 8 avril 2003
Statut
Membre
Dernière intervention
15 mars 2013

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 ???