Etant débutante sous VB, je patine un peu.
J'ai créé un code permettant, par le biais d'un "commandbutton", d'ouvrir mes documents. Je souhaite sélectionner un fichier, et que son chemin soit ensuite inscrit dans la "textbox" créée à cet effet.
Pour le moment, j'ai seulement réussi à afficher le chemin du classeur dans lequel je travail.
Voici mon code :
Code:
Private Sub CommandButton1_Click()
On Error Resume Next
With Application.GetOpenFilename
.AllowMultiSelect = False
.Show
UserForm1.TextBox1.Text = .SelectedItems(1)
End With
'display the path in the text box
Dim Path As String
TextBox1.Value = Workbooks(ThisWorkbook.Name).FullName
End Sub
Si j'ai oublié des informations qui pourrait vous permettre de m'aider, n'hésitez pas à me le signaler.
Oui, FileDialog n'existe que depuis la version XP (2002) à mon souvenir.
Pas trop d'idée du pourquoi le code d'Etienne plante chez toi, par contre...
Peut-être mettre un espion sur la valeur de "Le_Chemin" ?
Cela m'indique que la variable "msoFileDialogFilePicker" n'est pas définie.
Comment puis-je la définir?
Je pense en effet que la version 2000 comporte des différences par rapport à la version 2003.
Sur XL2007, ce code fonctionne (à voir sur Xl2000)
Code:
Private Sub CommandButton1_Click()
NAO = Application.GetOpenFilename
For i = Len(NAO) To 1 Step -1
If Mid(NAO, i, 1) = "\" Then LenDossier = i: GoTo suite
Next
suite:
TextBox1.Value = Mid(NAO, 1, LenDossier)
End Sub
Sur XL2007, ce code fonctionne (à voir sur Xl2000)
Code:
Private Sub CommandButton1_Click()
NAO = Application.GetOpenFilename
For i = Len(NAO) To 1 Step -1
If Mid(NAO, i, 1) = "\" Then LenDossier = i: GoTo suite
Next
suite:
TextBox1.Value = Mid(NAO, 1, LenDossier)
End Sub
Ce code fonctionne, mais le résultat n'est pas celui voulu :
le chemin d'accès affiché dans ma TextBox est celui du classeur dans lequel je travaille, et non celui du fichier sélectionné...
J'ai créé un code permettant, par le biais d'un "commandbutton", d'ouvrir mes documents. Je souhaite sélectionner un fichier, et que son chemin soit ensuite inscrit dans la "textbox" créée à cet effet.
Un espion permet de vérifier la valeur de tes variables pendant l'execution de ta macro, éventuellement d'arrêter ta macro sous condition pour débogage.
Ici tu pourrais insérer un espion express
Tu lances la macro d'Etienne
Quand elle plante, tu fais débogage
tu sélectionnes la variable Le_Chemin
Menu Debogage - Espion express
Le code de MJ13 fonctionne bien chez moi, comme celui d'Etienne
Je crois que sans bout de fichier, on aura du mal à t'aider plus
Bonjour MJ13,
Je suis actuellement stagiaire, et enrage contre le système informatique qui n'est pas à la pointe de la technologie !
En bref, pas possible d'accéder à une version plus récente.
Pierrot, ce code plante lui aussi, le débogage précise "objet requis" erreur 424 .
un fichier avec un userform contenant un bouton et une textbox, avec associé au bouton le code d'Etienne, MJ13 ou dernière version de Pierrot, et qui plante chez toi.
Chez nous, tous ces codes fonctionnent donc il faudrait voir dans quelle situation ça plante chez toi
Je comprends.
J'ai remarqué toutefois un point : lorsque la fenêtre "Ouvrir" s'ouvre, je sélectionne un fichier, mais le nom du fichier ne s'affiche pas dans la barre "nom du fichier" de cette fenêtre (je ne parle pas de la TextBox, mais bien du champ "nom du fichier" présent DANS la Fenêtre "Ouvrir"). Peut être ai-je fais une erreur, et que mon blocage vient de là? (simple supposition)