Code VBA mettre une fonction dans un privatesub?
Fermé
Mycki
-
Modifié par crapoulou le 15/04/2015 à 11:12
f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 - 16 avril 2015 à 18:22
f894009 Messages postés 17268 Date d'inscription dimanche 25 novembre 2007 Statut Membre Dernière intervention 29 mars 2025 - 16 avril 2015 à 18:22
A voir également:
- Code VBA mettre une fonction dans un privatesub?
- Fonction si et - Guide
- Comment déverrouiller un téléphone quand on a oublié le code - Guide
- Le code ascii - Guide
- Code puk bloqué - Guide
- Code activation windows 10 - Guide
2 réponses
f894009
Messages postés
17268
Date d'inscription
dimanche 25 novembre 2007
Statut
Membre
Dernière intervention
29 mars 2025
1 713
15 avril 2015 à 13:30
15 avril 2015 à 13:30
Bonjour,
appel de fonction:
ou fonction integree:
appel de fonction:
Private Sub CommandButton1_Click() Dim Typ As Byte Typ = 1 'ou 0 suivant dossier = ChoixDossierFichier(Typ) End Sub
ou fonction integree:
Private Sub CommandButton1_Click()
Dim objShell As Object, objFolder As Object
Dim Chemin As String, Msg As String
Dim FlagChoix As Long, NbPoint As Integer
SelType = 1 'ou 0 suivant
If SelType = 0 Then
FlagChoix = &H1
Msg = "Sélectionner un dossier :"
Else
FlagChoix = &H4000
Msg = "Sélectionner un fichier :"
End If
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
End Sub
16 avril 2015 à 17:11
Mon code fonctionne mais j'ai une erreur 91 qui apparaît ici:
Ligne soulignée en gras ;)
Je te remercie d'avance pour la réponse a venir :)
Private Sub CommandButton1_Click()
Dim objShell As Object, objFolder As Object
Dim Chemin As String, Msg As String
Dim FlagChoix As Long, NbPoint As Integer
SelType = 0 'ou 0 suivant
If SelType = 0 Then
FlagChoix = &H1
Msg = "Sélectionner un dossier :"
Else
FlagChoix = &H4000
Msg = "Sélectionner un fichier :"
End If
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 & ""
16 avril 2015 à 17:40
j'ai pris votre code et je n'ai pas d'erreur !!!!!!!
16 avril 2015 à 17:50
16 avril 2015 à 17:54
Par contre j'ai un textbox1, sur ce même userform.
Est-il possible de coller le chemin du dossier précédemment sélectionnez avec le code du dessus dans cet texbox1?
Désolé pour toute mes questions ... mais je suis pas un expert en vba :/
16 avril 2015 à 17:56
en remplacant Chemin par TextBox1