J'ai un "UserForm1" dans lequel j'ai deux boutons(CommandButton1 et CommandButton2).
Je veux que l'utilisateur puisse cliquer sur le bouton(CommandButton1) afin d'afficher un UserForm(userform2) comme celui qui s'affiche lorsqu'on décide d'ouvrir un classeur.
Par la suite l'utilisateur pourrait sélectionner un classeur voulu(classeur cible) et en cliquant sur le bouton "OK" de ce UserForm2, je veux que le chemin d'accès de ce classeur cible sélectionné s'afficher sur le CommandButton2 du UserForm1.
De plus, ce CommandButton2 doit ouvrir ce classeur cible lorsqu'on clique dessus.
Sub ouvrirTXT()
Application.ScreenUpdating = False
Dim stFichier$
stFichier = Application.GetOpenFilename(" Fichier Texte (*.txt), *.txt")
If stFichier = False Then Exit Sub
With Application.FileSearch
.NewSearch
.LookIn = Left(stFichier, InStrRev(stFichier, "\"))
.Filename = "*.txt"
.Execute
For Each f In .FoundFiles
Workbooks.Open Filename:=f
ActiveWorkbook.Close False
Next f
End With
Application.ScreenUpdating = True
End Sub
regardes les codes ci-dessous, à placer dans le module de ton userform, nom des objets à adapter :
Code:
Option Explicit
Dim f As String
Private Sub CommandButton1_Click()
f = Application.GetOpenFilename
CommandButton2.Caption = f
End Sub
Private Sub CommandButton2_Click()
If f <> "" Then Workbooks.Open f
End Sub
afin d'éviter une erreur, si utilisateur click sur "annuler" dans la boite de dialogue, modifies comme suit :
Code:
Option Explicit
Dim f As Variant
Private Sub CommandButton1_Click()
f = Application.GetOpenFilename(, , , , False)
CommandButton2.Caption = f
End Sub
Private Sub CommandButton2_Click()
If f <> "" And f <> False Then Workbooks.Open f
End Sub
C'est exactement ce que je demandais. Toutefois ce que je demandais n'était pas exactement ce que je voulais! J'avais peur que ce soit trop compliqué. Eh bien je me suis trompé.
Alors voici le petit plus que je voulais. Je veux que losrque l'utilisateur clique sur le bouton "Ouvrir", le chemin s'incrit sur le bouton2 comme c,est fait mais que le fichier ne s'ouvre pas. Le fichier s'ouvrira seulement si je clique sur le bouton2.
En résumé, lorsque l'utilisateur clique sur le bouton1, ce dernier affiche la boite "Ouvrir" et ne sert qu'à mettre le chemin sur le bouton2 et sans ouvrir le fichier immédiatement.