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

Messages postés
91
Date d'inscription
mardi 8 avril 2003
Dernière intervention
15 mars 2013
- - Dernière réponse : PCPT
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
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
Afficher la suite 

Votre réponse

4 réponses

Meilleure réponse
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
29
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 119 internautes nous ont dit merci ce mois-ci

Commenter la réponse de PCPT
Messages postés
13368
Date d'inscription
lundi 13 décembre 2004
Dernière intervention
3 février 2018
29
0
Merci
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 
Commenter la réponse de PCPT
Messages postés
91
Date d'inscription
mardi 8 avril 2003
Dernière intervention
15 mars 2013
0
Merci
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.
Commenter la réponse de LUSTRUCRU
Messages postés
91
Date d'inscription
mardi 8 avril 2003
Dernière intervention
15 mars 2013
0
Merci
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 ???
Commenter la réponse de LUSTRUCRU

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.