VBA Excel 2003 - Boîte de dialogue permettant de sélectionner un dossier ou un fichier
20 réponses
thomas
Bonjour,
Le code ci-dessous marche parfaitement bien si je mets en 4ème paramètre de
objShell.BrowseForFolder "C:\toto" mais plus du tout si je remplace
"C:\toto" par une variable, "Chemin" par exemple ( Chemin = "C:\toto")
Au lieu d'avoir comme dossier de départ de la recherche "C:\toto" j'ai "Mes
documents". Où ai-je fait une erreur?
Merci
Dim objShell, objFolder, SecuriteSlash
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(&H0&, "Choisissez un dossier",
&H1&, Chemin)
La variable n'est probablement pas initialisée correctement, ou pointe sur un chemin inexistant. Met un point d'arrêt sur la dernière ligne et vérifie le contenu de Chemin.
thomas a écrit :
Bonjour,
Le code ci-dessous marche parfaitement bien si je mets en 4ème paramètre de objShell.BrowseForFolder "C:toto" mais plus du tout si je remplace "C:toto" par une variable, "Chemin" par exemple ( Chemin = "C:toto")
Au lieu d'avoir comme dossier de départ de la recherche "C:toto" j'ai "Mes documents". Où ai-je fait une erreur?
Merci
Dim objShell, objFolder, SecuriteSlash
Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.BrowseForFolder(&H0&, "Choisissez un dossier", &H1&, Chemin)
................................
--
Cordialement,
Jacques.
Bonjour thomas,
La variable n'est probablement pas initialisée correctement, ou pointe
sur un chemin inexistant. Met un point d'arrêt sur la dernière ligne et
vérifie le contenu de Chemin.
thomas a écrit :
Bonjour,
Le code ci-dessous marche parfaitement bien si je mets en 4ème paramètre de
objShell.BrowseForFolder "C:toto" mais plus du tout si je remplace
"C:toto" par une variable, "Chemin" par exemple ( Chemin = "C:toto")
Au lieu d'avoir comme dossier de départ de la recherche "C:toto" j'ai "Mes
documents". Où ai-je fait une erreur?
Merci
Dim objShell, objFolder, SecuriteSlash
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(&H0&, "Choisissez un dossier",
&H1&, Chemin)
La variable n'est probablement pas initialisée correctement, ou pointe sur un chemin inexistant. Met un point d'arrêt sur la dernière ligne et vérifie le contenu de Chemin.
thomas a écrit :
Bonjour,
Le code ci-dessous marche parfaitement bien si je mets en 4ème paramètre de objShell.BrowseForFolder "C:toto" mais plus du tout si je remplace "C:toto" par une variable, "Chemin" par exemple ( Chemin = "C:toto")
Au lieu d'avoir comme dossier de départ de la recherche "C:toto" j'ai "Mes documents". Où ai-je fait une erreur?
Merci
Dim objShell, objFolder, SecuriteSlash
Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.BrowseForFolder(&H0&, "Choisissez un dossier", &H1&, Chemin)
................................
--
Cordialement,
Jacques.
Daniel.C
Bonsoir. Je n'ai pas le problème, à condition de définir Chemin, ce qui n'est pas dans ton code : Chemin = "c:toto" -- Cordialement. Daniel "thomas" <nomail> a écrit dans le message de news: %
Bonjour,
Le code ci-dessous marche parfaitement bien si je mets en 4ème paramètre de objShell.BrowseForFolder "C:toto" mais plus du tout si je remplace "C:toto" par une variable, "Chemin" par exemple ( Chemin = "C:toto")
Au lieu d'avoir comme dossier de départ de la recherche "C:toto" j'ai "Mes documents". Où ai-je fait une erreur?
Merci
Dim objShell, objFolder, SecuriteSlash
Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.BrowseForFolder(&H0&, "Choisissez un dossier", &H1&, Chemin)
................................
Bonsoir.
Je n'ai pas le problème, à condition de définir Chemin, ce qui n'est pas
dans ton code :
Chemin = "c:toto"
--
Cordialement.
Daniel
"thomas" <nomail> a écrit dans le message de news:
%23wWqaCaHJHA.3548@TK2MSFTNGP05.phx.gbl...
Bonjour,
Le code ci-dessous marche parfaitement bien si je mets en 4ème paramètre
de
objShell.BrowseForFolder "C:toto" mais plus du tout si je remplace
"C:toto" par une variable, "Chemin" par exemple ( Chemin = "C:toto")
Au lieu d'avoir comme dossier de départ de la recherche "C:toto" j'ai
"Mes
documents". Où ai-je fait une erreur?
Merci
Dim objShell, objFolder, SecuriteSlash
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(&H0&, "Choisissez un dossier",
&H1&, Chemin)
Bonsoir. Je n'ai pas le problème, à condition de définir Chemin, ce qui n'est pas dans ton code : Chemin = "c:toto" -- Cordialement. Daniel "thomas" <nomail> a écrit dans le message de news: %
Bonjour,
Le code ci-dessous marche parfaitement bien si je mets en 4ème paramètre de objShell.BrowseForFolder "C:toto" mais plus du tout si je remplace "C:toto" par une variable, "Chemin" par exemple ( Chemin = "C:toto")
Au lieu d'avoir comme dossier de départ de la recherche "C:toto" j'ai "Mes documents". Où ai-je fait une erreur?
Merci
Dim objShell, objFolder, SecuriteSlash
Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.BrowseForFolder(&H0&, "Choisissez un dossier", &H1&, Chemin)
................................
thomas
J'avais fait un point d'arrêt et debug.print chemin donne bien "C:toto"
"Jacques93" a écrit dans le message de groupe de discussion : eZh# Bonjour thomas,
La variable n'est probablement pas initialisée correctement, ou pointe sur un chemin inexistant. Met un point d'arrêt sur la dernière ligne et vérifie le contenu de Chemin.
thomas a écrit :
Bonjour,
Le code ci-dessous marche parfaitement bien si je mets en 4ème paramètre de objShell.BrowseForFolder "C:toto" mais plus du tout si je remplace "C:toto" par une variable, "Chemin" par exemple ( Chemin = "C:toto")
Au lieu d'avoir comme dossier de départ de la recherche "C:toto" j'ai "Mes documents". Où ai-je fait une erreur?
Merci
Dim objShell, objFolder, SecuriteSlash
Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.BrowseForFolder(&H0&, "Choisissez un dossier", &H1&, Chemin)
................................
--
Cordialement,
Jacques.
J'avais fait un point d'arrêt et debug.print chemin donne bien "C:toto"
"Jacques93" <jacques@Nospam> a écrit dans le message de groupe de discussion
: eZh#MKaHJHA.468@TK2MSFTNGP06.phx.gbl...
Bonjour thomas,
La variable n'est probablement pas initialisée correctement, ou pointe
sur un chemin inexistant. Met un point d'arrêt sur la dernière ligne et
vérifie le contenu de Chemin.
thomas a écrit :
Bonjour,
Le code ci-dessous marche parfaitement bien si je mets en 4ème paramètre
de
objShell.BrowseForFolder "C:toto" mais plus du tout si je remplace
"C:toto" par une variable, "Chemin" par exemple ( Chemin = "C:toto")
Au lieu d'avoir comme dossier de départ de la recherche "C:toto" j'ai
"Mes
documents". Où ai-je fait une erreur?
Merci
Dim objShell, objFolder, SecuriteSlash
Set objShell = CreateObject("Shell.Application")
Set objFolder = objShell.BrowseForFolder(&H0&, "Choisissez un
dossier",
&H1&, Chemin)
J'avais fait un point d'arrêt et debug.print chemin donne bien "C:toto"
"Jacques93" a écrit dans le message de groupe de discussion : eZh# Bonjour thomas,
La variable n'est probablement pas initialisée correctement, ou pointe sur un chemin inexistant. Met un point d'arrêt sur la dernière ligne et vérifie le contenu de Chemin.
thomas a écrit :
Bonjour,
Le code ci-dessous marche parfaitement bien si je mets en 4ème paramètre de objShell.BrowseForFolder "C:toto" mais plus du tout si je remplace "C:toto" par une variable, "Chemin" par exemple ( Chemin = "C:toto")
Au lieu d'avoir comme dossier de départ de la recherche "C:toto" j'ai "Mes documents". Où ai-je fait une erreur?
Merci
Dim objShell, objFolder, SecuriteSlash
Set objShell = CreateObject("Shell.Application") Set objFolder = objShell.BrowseForFolder(&H0&, "Choisissez un dossier", &H1&, Chemin)
................................
--
Cordialement,
Jacques.
Jacques93
Si le répertoire existe et que tu as les droits pour y accéder, cela doit fonctionner.
thomas a écrit :
J'avais fait un point d'arrêt et debug.print chemin donne bien "C:toto"
--
Cordialement,
Jacques.
Si le répertoire existe et que tu as les droits pour y accéder, cela
doit fonctionner.
thomas a écrit :
J'avais fait un point d'arrêt et debug.print chemin donne bien "C:toto"
Si le répertoire existe et que tu as les droits pour y accéder, cela doit fonctionner.
thomas a écrit :
J'avais fait un point d'arrêt et debug.print chemin donne bien "C:toto"
--
Cordialement,
Jacques.
thomas
C'est pour cela que je ne comprends pas
Set objFolder = objShell.BrowseForFolder(&H0&, "Choisissez un dossier", &H1&, Chemin) ne marche pas
alors que Set objFolder = objShell.BrowseForFolder(&H0&, "Choisissez un dossier", &H1&, "C:toto") marche
et que Chemin = "C:toto"
"Jacques93" a écrit dans le message de groupe de discussion : Si le répertoire existe et que tu as les droits pour y accéder, cela doit fonctionner.
thomas a écrit :
J'avais fait un point d'arrêt et debug.print chemin donne bien "C:toto"
--
Cordialement,
Jacques.
C'est pour cela que je ne comprends pas
Set objFolder = objShell.BrowseForFolder(&H0&, "Choisissez un dossier",
&H1&, Chemin)
ne marche pas
alors que Set objFolder = objShell.BrowseForFolder(&H0&, "Choisissez un
dossier", &H1&, "C:toto") marche
et que Chemin = "C:toto"
"Jacques93" <jacques@Nospam> a écrit dans le message de groupe de discussion
: uZbeaCbHJHA.1088@TK2MSFTNGP02.phx.gbl...
Si le répertoire existe et que tu as les droits pour y accéder, cela
doit fonctionner.
thomas a écrit :
J'avais fait un point d'arrêt et debug.print chemin donne bien "C:toto"
Set objFolder = objShell.BrowseForFolder(&H0&, "Choisissez un dossier", &H1&, Chemin) ne marche pas
alors que Set objFolder = objShell.BrowseForFolder(&H0&, "Choisissez un dossier", &H1&, "C:toto") marche
et que Chemin = "C:toto"
"Jacques93" a écrit dans le message de groupe de discussion : Si le répertoire existe et que tu as les droits pour y accéder, cela doit fonctionner.
thomas a écrit :
J'avais fait un point d'arrêt et debug.print chemin donne bien "C:toto"
--
Cordialement,
Jacques.
Jacques93
Aurais tu déclaré :
Dim Chemin as String
?
thomas a écrit :
C'est pour cela que je ne comprends pas
Set objFolder = objShell.BrowseForFolder(&H0&, "Choisissez un dossier", &H1&, Chemin) ne marche pas
alors que Set objFolder = objShell.BrowseForFolder(&H0&, "Choisissez un dossier", &H1&, "C:toto") marche
et que Chemin = "C:toto"
"Jacques93" a écrit dans le message de groupe de discussion : Si le répertoire existe et que tu as les droits pour y accéder, cela doit fonctionner.
thomas a écrit :
J'avais fait un point d'arrêt et debug.print chemin donne bien "C:toto"
--
Cordialement,
Jacques.
Aurais tu déclaré :
Dim Chemin as String
?
thomas a écrit :
C'est pour cela que je ne comprends pas
Set objFolder = objShell.BrowseForFolder(&H0&, "Choisissez un dossier",
&H1&, Chemin)
ne marche pas
alors que Set objFolder = objShell.BrowseForFolder(&H0&, "Choisissez un
dossier", &H1&, "C:toto") marche
et que Chemin = "C:toto"
"Jacques93" <jacques@Nospam> a écrit dans le message de groupe de discussion
: uZbeaCbHJHA.1088@TK2MSFTNGP02.phx.gbl...
Si le répertoire existe et que tu as les droits pour y accéder, cela
doit fonctionner.
thomas a écrit :
J'avais fait un point d'arrêt et debug.print chemin donne bien "C:toto"
Set objFolder = objShell.BrowseForFolder(&H0&, "Choisissez un dossier", &H1&, Chemin) ne marche pas
alors que Set objFolder = objShell.BrowseForFolder(&H0&, "Choisissez un dossier", &H1&, "C:toto") marche
et que Chemin = "C:toto"
"Jacques93" a écrit dans le message de groupe de discussion : Si le répertoire existe et que tu as les droits pour y accéder, cela doit fonctionner.
thomas a écrit :
J'avais fait un point d'arrêt et debug.print chemin donne bien "C:toto"
--
Cordialement,
Jacques.
thomas
oui Dim Chemin as String
"Jacques93" a écrit dans le message de groupe de discussion : Aurais tu déclaré :
Dim Chemin as String
?
thomas a écrit :
C'est pour cela que je ne comprends pas
Set objFolder = objShell.BrowseForFolder(&H0&, "Choisissez un dossier", &H1&, Chemin) ne marche pas
alors que Set objFolder = objShell.BrowseForFolder(&H0&, "Choisissez un dossier", &H1&, "C:toto") marche
et que Chemin = "C:toto"
"Jacques93" a écrit dans le message de groupe de discussion : Si le répertoire existe et que tu as les droits pour y accéder, cela doit fonctionner.
thomas a écrit :
J'avais fait un point d'arrêt et debug.print chemin donne bien "C:toto"
--
Cordialement,
Jacques.
oui Dim Chemin as String
"Jacques93" <jacques@Nospam> a écrit dans le message de groupe de discussion
: eudAoabHJHA.3668@TK2MSFTNGP02.phx.gbl...
Aurais tu déclaré :
Dim Chemin as String
?
thomas a écrit :
C'est pour cela que je ne comprends pas
Set objFolder = objShell.BrowseForFolder(&H0&, "Choisissez un dossier",
&H1&, Chemin)
ne marche pas
alors que Set objFolder = objShell.BrowseForFolder(&H0&, "Choisissez un
dossier", &H1&, "C:toto") marche
et que Chemin = "C:toto"
"Jacques93" <jacques@Nospam> a écrit dans le message de groupe de
discussion
: uZbeaCbHJHA.1088@TK2MSFTNGP02.phx.gbl...
Si le répertoire existe et que tu as les droits pour y accéder, cela
doit fonctionner.
thomas a écrit :
J'avais fait un point d'arrêt et debug.print chemin donne bien
"C:toto"
"Jacques93" a écrit dans le message de groupe de discussion : Aurais tu déclaré :
Dim Chemin as String
?
--
Cordialement,
Jacques.
thomas
ben non cela ne marche pas mieux mais ce qui est bizarre c'est que si je clique sur annuler dans la boîte de recherche , Chemin = objFolder.ParentFolder.ParseName(objFolder.Title).Path restitue le chemin que j'ai défini par défaut et pas celui que la boîte affiche
"Jacques93" a écrit dans le message de groupe de discussion : Essaie avec :
Dim Chemin As Variant
Ce paramètre peut être soit une chaine de caractères, soit une constante numérique :
"Jacques93" a écrit dans le message de groupe de discussion : Aurais tu déclaré :
Dim Chemin as String
?
--
Cordialement,
Jacques.
ben non cela ne marche pas mieux mais ce qui est bizarre c'est que si je
clique sur annuler dans la boîte de recherche , Chemin =
objFolder.ParentFolder.ParseName(objFolder.Title).Path restitue le chemin
que j'ai défini par défaut et pas celui que la boîte affiche
"Jacques93" <jacques@Nospam> a écrit dans le message de groupe de discussion
: OgLDIfbHJHA.1160@TK2MSFTNGP05.phx.gbl...
Essaie avec :
Dim Chemin As Variant
Ce paramètre peut être soit une chaine de caractères, soit une constante
numérique :
ben non cela ne marche pas mieux mais ce qui est bizarre c'est que si je clique sur annuler dans la boîte de recherche , Chemin = objFolder.ParentFolder.ParseName(objFolder.Title).Path restitue le chemin que j'ai défini par défaut et pas celui que la boîte affiche
"Jacques93" a écrit dans le message de groupe de discussion : Essaie avec :
Dim Chemin As Variant
Ce paramètre peut être soit une chaine de caractères, soit une constante numérique :
"Jacques93" a écrit dans le message de groupe de discussion : Aurais tu déclaré :
Dim Chemin as String
?
--
Cordialement,
Jacques.
Daniel.C
Ca ne te donnera pas la solution, mais, si tu veux uniquement récupérer le chemin du répertoire, utilise : Dim Chemin As String, Dossier As String Chemin = "c:toto" With Application.FileDialog(msoFileDialogFolderPicker) .InitialFileName = Chemin .Show If .SelectedItems.Count > 0 Then Dossier = .SelectedItems(1) End With Daniel "thomas" <nomail> a écrit dans le message de news:
ben non cela ne marche pas mieux mais ce qui est bizarre c'est que si je clique sur annuler dans la boîte de recherche , Chemin > objFolder.ParentFolder.ParseName(objFolder.Title).Path restitue le chemin que j'ai défini par défaut et pas celui que la boîte affiche
"Jacques93" a écrit dans le message de groupe de discussion : Essaie avec :
Dim Chemin As Variant
Ce paramètre peut être soit une chaine de caractères, soit une constante numérique :
"Jacques93" a écrit dans le message de groupe de discussion : Aurais tu déclaré :
Dim Chemin as String
?
--
Cordialement,
Jacques.
Ca ne te donnera pas la solution, mais, si tu veux uniquement récupérer le
chemin du répertoire, utilise :
Dim Chemin As String, Dossier As String
Chemin = "c:toto"
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = Chemin
.Show
If .SelectedItems.Count > 0 Then Dossier = .SelectedItems(1)
End With
Daniel
"thomas" <nomail> a écrit dans le message de news:
uPazGGcHJHA.4060@TK2MSFTNGP03.phx.gbl...
ben non cela ne marche pas mieux mais ce qui est bizarre c'est que si je
clique sur annuler dans la boîte de recherche , Chemin > objFolder.ParentFolder.ParseName(objFolder.Title).Path restitue le chemin
que j'ai défini par défaut et pas celui que la boîte affiche
"Jacques93" <jacques@Nospam> a écrit dans le message de groupe de
discussion
: OgLDIfbHJHA.1160@TK2MSFTNGP05.phx.gbl...
Essaie avec :
Dim Chemin As Variant
Ce paramètre peut être soit une chaine de caractères, soit une constante
numérique :
Ca ne te donnera pas la solution, mais, si tu veux uniquement récupérer le chemin du répertoire, utilise : Dim Chemin As String, Dossier As String Chemin = "c:toto" With Application.FileDialog(msoFileDialogFolderPicker) .InitialFileName = Chemin .Show If .SelectedItems.Count > 0 Then Dossier = .SelectedItems(1) End With Daniel "thomas" <nomail> a écrit dans le message de news:
ben non cela ne marche pas mieux mais ce qui est bizarre c'est que si je clique sur annuler dans la boîte de recherche , Chemin > objFolder.ParentFolder.ParseName(objFolder.Title).Path restitue le chemin que j'ai défini par défaut et pas celui que la boîte affiche
"Jacques93" a écrit dans le message de groupe de discussion : Essaie avec :
Dim Chemin As Variant
Ce paramètre peut être soit une chaine de caractères, soit une constante numérique :