Boite dialogue Ouvrir : Word pdf excel...

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 !

perpitou

XLDnaute Occasionnel
Bonjour à tous,

J'ai (encore 😉 ) une question.

J'ai des userforms sur lesquels se trouvent des boutons accès à un répertoire par exemple :

Code:
Private Sub CommandButton1_Click()
Shell "C:\WINDOWS\EXPLORER.EXE /n,/e,C:\", vbNormalFocus
    End Sub

Dans ce répertoire j'ai des fichiers excels et je souhaite les ouvrir en cliquant simplement dessus.
Et là le problème c'est que je ne peux pas travailler sur mon fichier excel ouvert car j'ai monfichier vba qui fonctionne.

Donc à l'ouverture de l'userform, j'ai mis :
Code:
UserForm1.Show vb Modeless

Là je peux réduire mon userform mais là il se bloque ou se ferme et je ne comprend.

Il faut savoir:
- Il ya plusieurs fichiers excels avec des noms qui peuvent changer dans le répertoire.
- Mes userform sont en plein écran.

J'espère vous avoir aidé à m'aider 😉.

Cordialement,
Perpitou
 
Dernière édition:
Re : Ouverture fichier excel dans d'autres classeurs.

Est il possible de créer une condition If selon les filtres on garde la même structure pour ouvrir les fichiers excel mais on change "Workbooks.Open .SelectedItems(1)" pour les autres fichier??

Code:
Private Sub CommandButton3_Click()

Dim x As Excel.Application
With Application.FileDialog(msoFileDialogOpen)
    .InitialFileName = ActiveWorkbook.Path & "\"
    .Filters.Clear
    .Filters.Add "Tous les fichiers", "*.*"
    .AllowMultiSelect = False
    .Show
    If .SelectedItems.Count > 0 Then
        Set x = CreateObject("Excel.Application")
        x.Visible = True
        x.Workbooks.Open .SelectedItems(1)
     
           Set x = Nothing
    End If
End With


End Sub
 
Re : Ouverture fichier excel dans d'autres classeurs.

Re

Je suis obligé de rentrer l'extension de chaque type de fichier? Je ne peux pas autoriser d'ouvrir tous les types de fichiers??

J'utilise ce code sur le click droit avec en Colonne 1 le nom du dossier et en colonne 2 le nom du fichier (a adapter).
Il permet d'ouvrir l'explorateur (si je suis en colonne 1 ou le fichier avec les liaisons de Windows pour l'ouvrir suivant l'extension par défaut de l'explorateur Windows).

Code:
Private Sub Workbook_SheetBeforeRightClick(ByVal Sh As Object, ByVal Target As Range, Cancel As Boolean)
Dim NF
Cancel = True: On Error Resume Next
If Mid(ActiveCell, 2, 1) = ":" Then Shell "C:\Windows\explorer.exe " & ActiveCell & "", vbMaximizedFocus: End
If Mid(ActiveCell, 2, 1) <> ":" Then NF = ActiveCell.Offset(0, -1) & "\" & ActiveCell: ThisWorkbook.FollowHyperlink NF: End
End Sub
 
Re : Ouverture fichier excel dans d'autres classeurs.

Re

le problème est que:

Code:
 x.Workbooks.Open

C'est pour ouvrir des fichiers excel.

Alors que

Code:
.FollowHyperlink NF

C'est plus générique. Fait le test et adapte le 🙂.
 
Re : Ouverture fichier excel dans d'autres classeurs.

Oui mais dans mon code je souhaite ouvrir une nouvelle application pour les fichiers excel et ouvrir le classuer dans cette application c'est que fait le code que pierrot a réalisé. Maintenant j'aimerai garder cette condition et ouvrir les autres types de fichier le problème c'est que en gardant ça, j'ouvre tous les codes dans le classeurs excel. Donc est il possible de créer des conditions if selon les extensions?
 
Re : Ouverture fichier excel dans d'autres classeurs.

Bonjour à tous et bon début de semaine!

Je sais actuellement qu'il faut utiliser les filters.add (après recherches) et peut shell execute.

Le tout combiné j'obtiendrai ma boite de dialogue.
Mais je ne sais pas comment créer un code me permettant d'ouvrir excel word pdf dwg...
Quelqu'un sait comment faire ou peux me donner le lien qui traite du sujet dans une discution du forum??
 
Re : Boite dialogue Ouvrir : Word pdf excel...

J'ai essayé avec une autre méthode et donc par le code suivant mais il ne fonctionne pas :

Code:
Private 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
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Code:
Private Sub CommandButton3_Click()
Dim fichier As String
Dim fileToOpen As String



fileToOpen = Application.GetOpenFilename("Tous (*.*), *.*")
ShellExecute 0, "open", Workbook.Path & ("\Dossier Travaux\11. Courrier\11.1. Exemples de Lettres"), vbNullString, App.Path & "\Dossier Travaux\11. Courrier\11.1. Exemples de Lettres", SW_SHOWNORMAL


End Sub
 
- 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

Réponses
27
Affichages
2 K
Retour