Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 02/09/2011, 14h43   #1
Invité de passage
 
Trader
Inscription : septembre 2011
Messages : 2
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Trader
Secteur : Finance

Informations forums :
Inscription : septembre 2011
Messages : 2
Points : 0
Points : 0
Par défaut Formulaire de recherche de fichier dans un dossier VBA Excel

Bonjour à tous,
J'ai un projet qui est de créer un formulaire de recherche sous vba excel.
J'ai un dossier sur mon pc nommé prospectus dans lequel se trouvent des prospectus(au format pdf]) nommés par code ISIN (exemple de nom de prospectus : FR10256869) .
je voudrais lorsque je saisie dans mon formulaire plus précisément dans textbox un Code Isin puis je valide , que ce dernier m'ouvre le prospectus correspondant à ce code.

Je sais pas si j'ai été clair mais n'hésitez pas à me demander plus de précision.
Espérant que vous m'aiderez,

Peace à tous!!!
azizabdel84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 02/09/2011, 21h38   #2
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Je comprends pas bien l'histoire de recherche ... s'il s'agit d'ouvrir un fichier dont tu connait l'emplacement et le nom voir :

Comment ouvrir un fichier avec l'application qui est associée à son extension dans le systême d'exploitation ?
bbil est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 03/09/2011, 12h30   #3
Membre Expert
 
Homme Hervé Silve
Inscription : août 2010
Messages : 773
Détails du profil
Informations personnelles :
Nom : Homme Hervé Silve
Localisation : France

Informations forums :
Inscription : août 2010
Messages : 773
Points : 2 093
Points : 2 093
Bonjour,

Voici un bout de code te permettant de lancer le fichier avec l'application correspondante (proc Test).
Je t'ai mis aussi une fonction de recherche de fichier sur le disque au cas où tu ne connaîtrais pas le chemin exact. Ici il faut au moins connaître le lecteur. Si la recherche doit se faire sur plusieurs lecteurs fais la moi savoir, je te donnerai la fonction de recherche pour tous les lecteurs.

Attention à l'extension :
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
 
Declare Function SearchTreeForFile _
        Lib "IMAGEHLP.DLL" ( _
        ByVal lpRootPath As String, _
        ByVal lpInputName As String, _
        ByVal lpOutputName As String) As Long
 
Declare Function ShellExecute _
        Lib "shell32.dll" _
        Alias "ShellExecuteA" ( _
        ByVal hWnd As Long, _
        ByVal lpszOp As String, _
        ByVal lpszFile As String, _
        ByVal lpszParams As String, _
        ByVal lpszDir As String, _
        ByVal FsShowCmd As Long) As Long
 
'fonction de recherche de fichier (retourne le chemin complet avec le nom du fichier)
Public Function Fichier(LeFichier As String, Lecteur As String) As String
 
    Dim Pos As Long
    Dim Retour As Boolean
    Dim Tampon As String
    Dim I As Integer
 
    If Len(Lecteur) > 1 Then Lecteur = Left(Lecteur, 1)
    Lecteur = Lecteur & ":\"
 
    Tampon = Space(300)
 
    Retour = SearchTreeForFile(Lecteur, LeFichier, Tampon)
 
    If Retour = True Then
 
        Pos = InStr(Tampon, Chr(0))
 
        If Pos <> 0 Then
 
            Tampon = Left(Tampon, Pos - 1)
 
        End If
 
        Fichier = Tampon
 
    End If
 
    If Retour = False Then
 
        Fichier = ""
 
    End If
 
End Function
 
Sub test()
 
    Dim Fich As String
 
    'Attention, l'extension doit être entrer dans le TextBox
 
    'si tu ne connais pas le chemin (il faut au moins connaître le lecteur)
    '>>Fich = Fichier(TextBox1.Text, "D")
 
    Fich = "D:\MonDossier\" & TextBox1.Text
 
    If Fich <> "" Then 'contrôle necessaire si tu utilise la fonction
 
        ShellExecute 0, _
                     "open", _
                     Fich, _
                     vbNullString, _
                     vbNullString, _
                     1
 
    End If
 
End Sub
Hervé.
Theze est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 06/09/2011, 16h32   #4
Invité de passage
 
Trader
Inscription : septembre 2011
Messages : 2
Détails du profil
Informations personnelles :
Localisation : France

Informations professionnelles :
Activité : Trader
Secteur : Finance

Informations forums :
Inscription : septembre 2011
Messages : 2
Points : 0
Points : 0
merci Hervé , je te tiens au courant asap!

Citation:
Envoyé par bbil Voir le message
Je comprends pas bien l'histoire de recherche ... s'il s'agit d'ouvrir un fichier dont tu connait l'emplacement et le nom voir :

Comment ouvrir un fichier avec l'application qui est associée à son extension dans le systême d'exploitation ?
Je connais les noms des fichiers que je vais rechercher mais avec plus de 150 fichiers dans un dossier il me faudrait dans ce cas là modifier le code à chaque recherche et je perdrais plus de temps au final.
azizabdel84 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/09/2011, 22h09   #5
Responsable Visual Basic
 
Avatar de bbil
 
Inscription : juin 2003
Messages : 11 773
Détails du profil
Informations personnelles :
Âge : 45
Localisation : France, Ariège (Midi Pyrénées)

Informations forums :
Inscription : juin 2003
Messages : 11 773
Points : 16 849
Points : 16 849
Envoyer un message via Skype™ à bbil
Citation:
Envoyé par azizabdel84 Voir le message
Je connais les noms des fichiers que je vais rechercher mais avec plus de 150 fichiers dans un dossier il me faudrait dans ce cas là modifier le code à chaque recherche et je perdrais plus de temps au final.
c'est toujours aussi incompréhensible .. ? si tu connais le nom de fichier et son emplacement que veux tu rechercher ?
bbil est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 23h26.


 
 
 
 
Partenaires

Hébergement Web