Informations sur boite de dialogue
Bonjour a tous, forum bonjour,
Je suis a recherche de quelques informations a propos des boites de dialogue concernant Excel 2007
Je voudrais bien apporter quelques modifications pour mon besoin personnel.
J'ai donc chercher mais hélas pas trouver d'exemple VBA sur le sujet.
Voir svp le fichier ci-joint explications de ce que je souhaiterai faire.
Merci a vous, bonne journée, merci
Cdlt Ray
Bonsoir,
Tu consultes les propriétés de l'objet FileDialog. Tu en utilises déjà certaines. Tu regardes les autres qui peuvent t'intéresser et tu testes si cela correspond à ce que tu veux.
Cordialement.
Salut MFerrand,
Merci pour ta réponse, c'est sympa a toi.
Je faisais des recherches en français sur le sujet (boite de dialogue) et je n'ai pas trouver grand chose.
Ceci dit le terme (l'objet FileDialog) change tout, j'ai trouver de la documentation et j'ai pu avancer et
faire quelques essais.
mais ca n'a pas résolu une chose comment se placer sur (Ordinateur) a l'ouverture de la boite de dialogue.
et aussi sur la dimension de la boite a afficher il y a un paramètre j'ai déjà vu mais je trouve plus évidement
Si d'autres infos a ce sujet je suis preneur,
Merci a toi je te souhaite un très bon dimanche et encore merci
Cdlt Raymond
Bonjour,
Essaie avec :
.InitialView = msoFileDialogViewDetailsCordialement.
Salut MFerrand,
Merci pour la réponse, j'ai touver ceci mais ca ne corresponds pas a mes attentes.
Je crois que c'est plutôt le code juste ci-dessous qui fixe la taille de la boite de dialogue a afficher dès le départ
mais je n'ai pas la syntaxe pour la plus petite.
Merci pour ton aide
Cdlt Ray
' *** Créer un objet FileDialog
Set fd = Application.FileDialog(msoFileDialogOpen)
Application.FileDialog(msoFileDialogFolderPicker).ShowInitialView Property
Office 2003
MsoFileDialogView
MsoFileDialogView can be one of these MsoFileDialogView constants.
msoFileDialogViewDetails
msoFileDialogViewLargeIcons
msoFileDialogViewList
msoFileDialogViewPreview
msoFileDialogViewProperties
msoFileDialogViewSmallIcons
msoFileDialogViewThumbnail This constant is only available in conjunction with Microsoft Windows 2000 or Microsoft Windows Millennium Edition, or later.
msoFileDialogViewWebView Not available. If you select this constant, the default view will be used. Oui c'est bien le mode d'affichage, sans incidences sur l'emplacement. Je m'étais laissé tromper un moment... mais l'affichage sur Ordinateur était dû à une sélection antérieure...
Par contre :
.InitialFileName = "C:\"te permet un affichage sur C (ou un autre lecteur), mais je ne vois si et comment on peut faire afficher sur Ordinateur (l'ensemble des lecteurs dans la fenêtre). Tous mes essais se soldent par une erreur. ?
Salut MFerrand,
Merci pour la réponse,
J'ai bien pu faire des essais mais je ne suis pas parvenu non plus a me positionner sur (Ordinateur)
Par contre c'est bon pour (.InitialFileName = "C:\") ou pour un autre D-D .InitialFileName = "H:\"
Pourtant j'ai le code que je post ci-dessous qui permets d'afficher la boite comme je voudrais bien mais la encore je comprends pas
comment ca marche, ATTENTION c'est juste une partie du code.
A plus tard et merci a toi
Cdlt Ray
'### Nécessite d'activer référence Microsoft Shell Controls and Automation
Public Rep As String, Choix As Variant 'Variable choix du répertoire
Private Type BROWSEINFO
hOwner As Long: pidlRoot As Long
pszDisplayName As String: lpszTitle As String
ulFlags As Long: lpfn As Long: lParam As Long: iImage As Long
End Type
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
Private Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
'### MACRO *** CHARGEMENT DES FILMS VENANT DU DISQUE DUR CHOISI
Public Sub Chargement_Des_Films()
Rep = LoadNomDuRep: If Rep = "" Then Exit Sub
If Choix = vbYes Then
ListFilesInFolder Rep, True, 0 'Avec sous dossiers
Else
ListFilesInFolder Rep, False, 0 'Sans sous dossiers
End If
End Sub
'### CHOIX DU REPERTOIRE ET DU DISQUE DUR
Public Function LoadNomDuRep() As String 'Retourne le nom du rep sélectionné
Dim bInfo As BROWSEINFO, Path As String, R As Long, X As Long, Pos As Integer
bInfo.pidlRoot = 0& 'Root folder = Desktop
bInfo.lpszTitle = "Sélectionner un répertoire" 'Titre
bInfo.ulFlags = &H1 'Type directory
X = SHBrowseForFolder(bInfo) 'Affiche dialogue
Path = Space$(512): R = SHGetPathFromIDList(ByVal X, ByVal Path) 'Traite le résultat
If R Then
Pos = InStr(Path, Chr$(0)): LoadNomDuRep = Left(Path, Pos - 1)
Else
LoadNomDuRep = ""
End If
Range("A1:B4000").ClearContents 'Efface colonne A et B
End Function
'### ListFilesInFolder "C:\FolderName\", True < avec sous dossiers
Public Sub ListFilesInFolder(SourceFolderName As String, IncludeSubfolders As Boolean, TestRetour)
Dim Fso, SourceFolder, SubFolder, FileItem, R As Long
Dim NbFichiersEnMo As Integer, NbFichiersEnGo As Integer
Set Fso = CreateObject("Scripting.FileSystemObject")
Set SourceFolder = Fso.Getfolder(SourceFolderName)
NbFichiersEnMo = 0: NbFichiersEnGo = 0
Call Entourage_Cellules 'Appel macro Call Entourage_Cellules trace les bordures colonne A-B-C
R = Range("A4000").End(xlUp).Row
For Each FileItem In SourceFolder.Files
Cells(R, 1).Formula = FileItem.Name