OVH Cloud OVH Cloud

recuperer une donnée dans un champ formulaire

2 réponses
Avatar
Jul
Bonjour,

j'ai une fonction qui me permet de recuperer le chemin d'un fichier. Mais
comment mettre le contenu de la variable qui contient se chemin dans le
champ du formulaire ?

------------------------------------------------
Private Sub Fichier_Click()
Dim objShell As Object, objFolder As Object
Dim Chemin As String, Msg As String
FlagChoix = &H4000
Msg = "Sélectionner le fichier du CV :"
Set objShell = CreateObject("Shell.Application")
On Error Resume Next
Set objFolder = objShell.BrowseForFolder(&H0&, Msg, FlagChoix)
NbPoint = InStr(objFolder.Title, ":")
If NbPoint = 0 Then
Chemin = objFolder.ParentFolder.ParseName(objFolder.Title).Path &
""
Else
Chemin = Mid(objFolder.Title, NbPoint - 1, 2)
End If
ChoixDossierFichier = Chemin
End Sub
-------------------------------------------------
ChoixDosierFichier contient la valeur que je veux mettre dans mon champ.

Merci pas avance.

2 réponses

Avatar
Pierre CFI [mvp]
bonjour
à la fin
...
....
End If
ChoixDossierFichier = Chemin
Me.Nomducontrole =ChoixDossierFichier
End Sub
si cette sub est dans le form

--
Pierre CFI
MVP Microsoft Access

Site pour bien commencer
Access http://www.mpfa.info

"Jul" <a> a écrit dans le message de news: 448e8a0c$0$27266$
Bonjour,

j'ai une fonction qui me permet de recuperer le chemin d'un fichier. Mais comment mettre le contenu de la variable qui contient se
chemin dans le champ du formulaire ?

------------------------------------------------
Private Sub Fichier_Click()
Dim objShell As Object, objFolder As Object
Dim Chemin As String, Msg As String
FlagChoix = &H4000
Msg = "Sélectionner le fichier du CV :"
Set objShell = CreateObject("Shell.Application")
On Error Resume Next
Set objFolder = objShell.BrowseForFolder(&H0&, Msg, FlagChoix)
NbPoint = InStr(objFolder.Title, ":")
If NbPoint = 0 Then
Chemin = objFolder.ParentFolder.ParseName(objFolder.Title).Path & ""
Else
Chemin = Mid(objFolder.Title, NbPoint - 1, 2)
End If
ChoixDossierFichier = Chemin
End Sub
-------------------------------------------------
ChoixDosierFichier contient la valeur que je veux mettre dans mon champ.

Merci pas avance.



Avatar
Jul
Merci beaucoup pour cette réponse.

Mais il me reste un problème si jamais quelqu'un à la solution...
Le problème est que ca ne marche que si je selectionne un dossier, mais ca
ne marche pas avec les fichiers.
-----------------------------------------------
Private Sub Fichier_Click()
Dim objShell As Object, objFolder As Object
Dim Chemin As String, Msg As String
Dim FlagChoix As Long, NbPoint As Integer

FlagChoix = &H4000
Msg = "Sélectionner le fichier du CV :"

Set objShell = CreateObject("Shell.Application")
' &h1
' 1er paramètre toujours 0 (zéro). Il représente le handle de la fenêtre
parent
' &h1
' 2ème paramètre Titre de la boite, en dessous de la barre de titre
' &h1
' 3ème paramètre options de BrowseForFolder
' &h1
' 4ème paramètre Facultatif. Répertoire de début d'exploration
On Error Resume Next
Set objFolder = objShell.BrowseForFolder(&H0&, Msg, FlagChoix)
' &h1
'Si l 'objet retourné est valide, on teste son contenu (item.title)
'Si on a sélectionné la racine d'une partition, il se compose du nom de
la partition,
' suivi de sa lettre et ":" entre parenthèses
NbPoint = InStr(objFolder.title, ":")
If NbPoint = 0 Then
' &h1
'Sinon, il se compose du nom du dossier uniquement, sans le chemin précédent
'On récupère ce chemin à l'aide des propriété et méthode
ParentFolder.ParseName
Chemin = objFolder.ParentFolder.ParseName(objFolder.title).Path &
""
Else
' &h1
' si racine on récupère la lettre du lecteur et les 2 points
Chemin = Mid(objFolder.title, NbPoint - 1, 2)
End If
ChoixDossierFichier = Chemin
Me.Fichier = ChoixDossierFichier
---------------------------------