• Initiateur de la discussion Initiateur de la discussion Lone-wolf
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Lone-wolf

XLDnaute Barbatruc
Rebonjour,

J'ai un petit souci avec ce code:

Private Sub Image1_Click()
ChDir ("D:\Documents Excel\Formulaires\Recherche Contacts\")
fileToOpen = Application.GetOpenFilename("*.doc, *.doc")
End Sub

Malgré le chemin correct la fenêtre s'ouvre à partir de " Mes documents",
et moi je cherche à ouvrir le dossier "Recherche Contacts" et ensuite
ouvrir les fichiers.

Qu'est-ce qu' il manque au code?

Merci de votre aide
 
Dernière édition:
Re : Ouvrir un dossier

Bonjour

vérifie ton chemin

mets un msgbox dans le code

Code:
Sub ouvre()
Dim Ouvrirfichiers As Variant
ChDir ("C:\Users\Gilbert\Documents\") 'Chemin par défault
test = CurDir
MsgBox test
Ouvrirfichiers = Application.GetOpenFilename(filefilter:="Classeur Microsoft Excel (*.xls), *.xls, PageWeb (*.htm; *.html), *.htm; *.html", FilterIndex:=1, Title:="Ouverture des fichiers", MultiSelect:=True)
MsgBox Ouvrirfichiers
End Sub
 
Re : Ouvrir un dossier

Bonjour Gilbert,

Le problème c'est que le dossier se trouve sur le Disque D:\ et je ne comprend pas pourquoi ça ne marche pas.

Le code est bon, mais je n'arrive pas à ouvrir le(s) fichier(s), le bouton ouvrir de la fenêtre est désactivé.
 
Re : Ouvrir un dossier

pour ouvrir un doc avec excel il faut ouvrir l'application word

cherche dans cette direction

Code:
Sub ouvredoc()
Dim AppWord As Word.Application
Set AppWord = New Word.Application
Application.DisplayAlerts = True
AppWord.ShowMe
AppWord.Visible = True
AppWord.WindowState = wdWindowStateMaximize
'Ouvre le document Word
Set DocWord = AppWord.Documents.Open("path et fichier.doc", ReadOnly:=False)
End Sub

ne pas oublier de cocher la référence word xx
 
Dernière édition:
Re : Ouvrir un dossier

Bonjour kiki, ça joue cette fois. Merci!

Mais je n'ai pas encore trouver le code pour ouvrir les fichiers.
Avec le code, la fenêtre word s'ouvre vide bien entendu, vu qu'il y a CreateObject.

Voici ce que j'ai pour l'instant:

Private Sub Image1_Click()
Dim AppW As Word.Application
Dim DocW As Word.Document
Dim Ouvrirfichiers As Variant
ChDrive "D"
Dir ("D:\Dossiers Excel\Formulaires\Recherche Contacts")
Ouvrirfichiers = Application.GetOpenFilename("*.doc, *.doc")
Set AppW = CreateObject("Word.Application")
AppW.Visible = True
End Sub

Sans le code et en faisant un clic droit sur le document, Ouvrir, sa marche.

Comment codé correctement pour ouvrir ces documents?
 
Dernière édition:
Re : Ouvrir un dossier

Bonjour

essayer ceci

Code:
Private Sub Image1_Click()
    Dim AppW As Word.Application
    Dim DocW As Word.Document
    Dim Ouvrirfichiers As Variant
    ChDrive "D"
    Dir ("D:\Dossiers Excel\Formulaires\Recherche Contacts")
    Ouvrirfichiers = Application.GetOpenFilename("*.doc, *.doc")
    Set AppW = New Word.Application
    AppW.ShowMe
    AppW.Visible = True
    Set DocW = AppW.Documents.Open(Ouvrirfichiers, ReadOnly:=False)
    AppW.WindowState = wdWindowStateMaximize
End Sub
 
Re : Ouvrir un dossier

voilà le code pour word amélioré avec un peu d'API
mettre le code dans un module standard
tu me dis

Code:
Private Declare Sub keybd_event Lib "user32" _
                                (ByVal bVk As Byte, _
                                 ByVal bScan As Byte, _
                                 ByVal dwFlags As Long, _
                                 ByVal dwExtraInfo As Long)
Private Const VK_LWIN = &H5B
Private Const KEYEVENTF_KEYUP = &H2
Private Sub MinimizeWindows()
    VK_ACTION = &H4D
    Call keybd_event(VK_LWIN, 0, 0, 0)
    Call keybd_event(VK_ACTION, 0, 0, 0)
    Call keybd_event(VK_LWIN, 0, KEYEVENTF_KEYUP, 0)
End Sub
Sub test()
    Dim AppW As Word.Application
    Dim DocW As Word.Document
    Dim Ouvrirfichiers As Variant
    ChDrive "D"
    Dir ("D:\")
    Ouvrirfichiers = Application.GetOpenFilename("*.doc, *.doc")
    MinimizeWindows
    Set AppW = New Word.Application
    AppW.ShowMe
    AppW.Visible = True
    Set DocW = AppW.Documents.Open(Ouvrirfichiers, ReadOnly:=False)
    AppW.WindowState = wdWindowStateMaximize
End Sub

dans le module de la feuille
Code:
Private Sub Image1_Click()
    test
End Sub
 
Re : Ouvrir un dossier

voilà le code pour un pdf en API

Code:
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
 
Sub SelectionFichier()
ChDrive "C:"  ' Choix du lecteur
ChDir "C:\" 'Choix du répertoire
          LongFilename = Application.GetOpenFilename("PDF Files (*.pdf), *.pdf,(*.*),*.*")
      fich = CStr(LongFilename)
      rep = ShellExecute(0, "open", fich, "", "", 0)
End Sub
 
Dernière édition:
Re : Ouvrir un dossier

voilà une façon pour ouvrir un xls

Code:
Sub OuvertureFichiersxls()
Dim a As Variant, Nom As String
Application.ScreenUpdating = False
Nom = ActiveWorkbook.Name
ChDrive "C:"  ' Choix du lecteur
ChDir "C:\" 'Choix du répertoire
a = Application.GetOpenFilename("fichier excel (*.xls), *.xls", _
    , "Sélection de vos fichiers excel", , True)
Select Case TypeName(a)
    Case Is = "Boolean"
        Exit Sub
    Case Else
        For b = LBound(a) To UBound(a)
            Workbooks.Open a(b)
        Next
 End Select
 Application.ScreenUpdating = True
Workbooks(Nom).Activate
End Sub
 
Re : Ouvrir un dossier

rien ne t'empêche de faire aussi cela pour les doc et xls

Code:
Sub SelectionFichierdoc()
ChDrive "C:"  ' Choix du lecteur
ChDir "C:\" 'Choix du répertoire
 
      LongFilename = Application.GetOpenFilename("doc Files (*.doc), *.doc,(*.*),*.*")
      fich = CStr(LongFilename)
      rep = ShellExecute(0, "open", fich, "", "", 0)
End Sub
Sub SelectionFichierxls()
ChDrive "C:"  ' Choix du lecteur
ChDir "C:\" 'Choix du répertoire
 
      LongFilename = Application.GetOpenFilename("XLS Files (*.xls), *.xls,(*.*),*.*")
      fich = CStr(LongFilename)
      rep = ShellExecute(0, "open", fich, "", "", 0)
End Sub

sans oublier la déclaration

Code:
Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, ByVal lpOperation As String, _
ByVal lpFile As String, ByVal lpParameters As String, _
ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long
 
Dernière édition:
Re : Ouvrir un dossier

Hello Gilbert!

En ce qui concerne l'ouverture des fichiers PDF, pas de problème.

Par contre il y a un petit problème avec ce code:

Private Sub Image2_Click()
Dim a As Variant, Nom As String
Application.ScreenUpdating = False
Nom = ActiveWorkbook.Name
ChDrive "D"
Dir ("D:\Dossiers Excel\Formulaires\Recherche Contacts")
a = Application.GetOpenFilename("fichier excel (*.xls), *.xls", _
, "Sélection de vos fichiers excel", , True)
Select Case TypeName(a)
Case Is = "Boolean"
Exit Sub
Case Else
For b = LBound(a) To UBound(a)
Workbooks.Open a(b)
Next
End Select
Application.ScreenUpdating = True
Workbooks(Nom).Activate
End Sub

Le fichier s'ouvre en mode Masqué et suis obligé de fermer le formulaire. J'aimerais bien qu'il s'ouvre indépendament.

Quand au deuxième, malgré avoir mis le module, ça bloque;
mais ce n'est pas très important vu que j'utilise le premier.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

  • Question Question
Microsoft 365 Pb avec Windows
Réponses
47
Affichages
3 K
M
  • Question Question
Réponses
2
Affichages
2 K
T
Réponses
2
Affichages
1 K
J
Réponses
0
Affichages
1 K
J
Retour