selectionner un repertoire et save automatique

  • Initiateur de la discussion Initiateur de la discussion jmt0
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

J

jmt0

Guest
Bonjours, Petites questions sous la canicule.

Voila, je voudrais créer un userform, dans lequel l'utilisateur pourra faire les action suivant:

1) selctionner un repertoire
(si possible en parcourrant l'ensemble des repetoires avec le meme genre de truc que l'on as quand on clics sur 'ouvrir')

2) rentrer le nom d'un fichier


et apres, je voudrais pouvoir sauvergarder mon fichier a cet endoit la.

je sais pas si c'est possible a faire en VBA.

Merci d'avance.
 
merci,

ca correspond presque a ce que je veut faire. En fait, ca fait tout d'un coup, et moi j'aurais voulu séparer les étapes.

Mais je fait suivre la piste du xlDialog et je devrais trouver mon bonheur au bout de chemin.
 
ou alors pour faire uniquement le choix du répertoire (à adapter, la procédure est utilisée ici dans la sub appel en bas) :

Public 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
'32-bit API declarations
Declare Function SHGetPathFromIDList Lib 'shell32.dll' _
Alias 'SHGetPathFromIDListA' (ByVal pidl
As Long, ByVal pszPath As String) As Long
Declare Function SHBrowseForFolder Lib 'shell32.dll' _
Alias 'SHBrowseForFolderA' (lpBrowseInfo
As BROWSEINFO) As Long

Function GetDirectory(Optional Msg) As String
 
Dim bInfo As BROWSEINFO
 
Dim path As String
 
Dim r As Long, x As Long, pos As Integer
  bInfo.pidlRoot = 0&
 
If IsMissing(Msg) Then
    bInfo.lpszTitle = 'Select a folder.'
 
Else
    bInfo.lpszTitle = Msg
 
End If
  bInfo.ulFlags = &H1
  x = SHBrowseForFolder(bInfo)
  path = Space$(512)
  r = SHGetPathFromIDList(ByVal x,
ByVal path)
 
If r Then
    pos = InStr(path, Chr$(0))
    GetDirectory = Left(path, pos - 1)
    Range('a2') = GetDirectory
 
Else
    GetDirectory = ''
 
End If
End Function
'Appel a la procedure :
Sub appel()
  Msg = 'Selection de la directory désirée'
  ChDir GetDirectory(Msg)
End Sub
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Retour