Sélectionner fichier/le copier/le coller dans un nouveau répertoire

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 !

maninwhite

XLDnaute Occasionnel
Bonjour à toutes et à tous

Voila ma requête

Dans un userform, j'ai créer un bouton.

J'aimerai que ce bouton m'ouvre la boite de dialogue "parcourir", que je puisse sélectionner une photo et que celle ci soit copier vers un nouveau répertoire.

J'ai déjà quelques pistes :

Application.FileDialog(msoFileDialogOpen).Show ==> me permet d'ouvrir la boite de dialogue
MkDir ==> me permet de créer le nouveau répertoire

Le problème c'est que quand je sélectionne le fichier, il veut me l'ouvrir dans excel alors que moi je veux juste le sélectionner et que ça me le copie dans un nouveau répertoire qui sera renommé avec la valeur d'une textbox.

Merci d'avance
 
Re : Sélectionner fichier/le copier/le coller dans un nouveau répertoire

Bonjour,

regarde peut être ceci, à adapter à ton projet, espérant que cela puisse t'aider à avancer :
Code:
Dim chemin As String
With Application.FileDialog(msoFileDialogFilePicker)
    .InitialFileName = ActiveWorkbook.Path & "\"
    .Filters.Clear
    .Filters.Add "madescrip", "*.gif"
    .Show
    If .SelectedItems.Count > 0 Then chemin = .SelectedItems(1)
End With

bonne journée
@+
 
Re : Sélectionner fichier/le copier/le coller dans un nouveau répertoire

Bonjour ManInWhite, salut Pierrot 🙂
Soit la méthode Copy MSDOS comme le MkDir, soit
Code:
FileSystemObject.CopyFile "c:\Mes Documents\lettres\*.doc", "c:\dossiertemp\"
Bonne journée 🙂
 
Re : Sélectionner fichier/le copier/le coller dans un nouveau répertoire

Merci à vous deux

Le seul bou de code que j'ai gardé est :
Code:
Application.FileDialog(msoFileDialogFilePicker).Show

Il permet d'ouvrir la boite de dialogue parcourir, mais ce que j'aimerai c'est que quand j'ai cliqué sur la photo et que j'appuie sur ouvrir ça me copie colle le fichier quelque part.
 
Re : Sélectionner fichier/le copier/le coller dans un nouveau répertoire

Re,
bonjour JNP🙂

essaye ceci :
Code:
Option Explicit
Sub test()
With Application.FileDialog(msoFileDialogFilePicker)
    .InitialFileName = ActiveWorkbook.Path & "\"
    .Filters.Clear
    .Filters.Add "madescrip", "*.gif"
    .Show
    If .SelectedItems.Count > 0 Then
        'le répertoire de destination doit exister
        FileCopy .SelectedItems(1), "C:\MesDoc\Images\test.gif"
    End If
End With
End Sub
 
Re : Sélectionner fichier/le copier/le coller dans un nouveau répertoire

Je ne comprend pas le code mais ça marche.
Par contre ce code permet de copier un seul fichier, j'ai donc rajouté :
Code:
.AllowMultiSelect = True

Mais il bloque sur
Code:
.SelectedItems(1)

J'ai donc copié/coller la ligne en mettant :
Code:
.SelectedItems(2)

Mais cela ne marche pas
 
Re : Sélectionner fichier/le copier/le coller dans un nouveau répertoire

Re,

regarde ceci, fonctionne chez moi.... bouton "ok" cliqué bien sur....
Code:
Dim i As Byte
With Application.FileDialog(msoFileDialogFilePicker)
    .InitialFileName = ActiveWorkbook.Path & "\"
    .AllowMultiSelect = True
    .Filters.Clear
    .Filters.Add "madescrip", "*.xls"
    .Show
    If .SelectedItems.Count > 0 Then
        For i = 1 To .SelectedItems.Count
            MsgBox .SelectedItems(i)
        Next i
    End If
End With
 
Re : Sélectionner fichier/le copier/le coller dans un nouveau répertoire

Nickel, il suffisait de faire une boucle

J'ai juste déclaré la variable pour que cela marche
Code:
Dim i As Long

Et changer 1 en i bien entendu.

Bon si tout va bien le reste devrait aller tout seul.

Encore merci
 
Re : Sélectionner fichier/le copier/le coller dans un nouveau répertoire

Bon je savais bien que j'aurai encore besoin de toi

J'utilise Mkdir pour créer un fichier avec une variable

Code:
Dim dossier As String
dossier = TextBox_titre.Value

On Error Resume Next
MkDir "L:\Share\Incident report\Photos\" & dossier

Cela fonctionne

Mais pour copier le fichier, cela ne marche plus :
Code:
FileCopy .SelectedItems(i), "L:\Share\Incident report\Photos\" & dossier & Mid(.SelectedItems(i), InStrRev(.SelectedItems(i), "\") + 1)

Le fichier se copie dans photos et non pas dans photos/variable dossier

Et le nom du fichier est renommé avec mavariable et son nom d'origine
 
- 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

Discussions similaires

Réponses
5
Affichages
399
Retour