Choisir, sélectionner et déplacer un fichier depuis un classeur excel

  • Initiateur de la discussion Initiateur de la discussion jarod1990
  • 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

jarod1990

Guest
Bonjour,
Je souhaiterai pouvoir avec une macro présente d'un classeur xls pouvoir sélectionner n'importe quel fichier et le déplacer dans un dossier. Tous cela à travers des boites de dialogue type "ouvrir un fichier" "enregistrer sous".

J'ai déjà construit ça mais le problème se trouve pour l'enregistrement. Comme je suis dans un classeurs xls, je ne parviens pas à enregistrer autre chose que ce classeurs xls (je souhaite enregistrer "Source"). Voici mon code:


Private Sub CommandButton1_Click()
Dim Source
Dim Destin
Source = Application.GetOpenFilename()
MsgBox Source
Destin = Application.GetSaveAsFilename()

Dim objOFS As Variant

Set objOFS = CreateObject("Scripting.FileSystemObject")

If (objOFS.FileExists(Source)) Then
objOFS.moveFile Source, Destin
End If

Set objOFS = Nothing

End Sub

Je vous remercie pour votre aide.
Jarod
 
Re : Choisir, sélectionner et déplacer un fichier depuis un classeur excel

Bonjour,

si c'est bien déplacer un fichier que tu veux faire, test ceci:

Code:
Sub test()
Dim Source
Dim Destin
Source = Application.GetOpenFilename()
MsgBox Source
Destin = Application.GetSaveAsFilename()
Name Source As Destin

End Sub
 
Re : Choisir, sélectionner et déplacer un fichier depuis un classeur excel

Bonsoir,
ça fonctionne pas. J'ai toujours le même problème de nom et de fichier que j'enregistre.
Je joins le fichier en pièce jointe peut être que ça simplifiera les échanges ...
Merci et bonne soirée.
Jarod
 

Pièces jointes

Re : Choisir, sélectionner et déplacer un fichier depuis un classeur excel

Qu'est-ce qui ne fonctionne pas?
Si je reprends ce que tu as dis, déplacer un fichier d'un répertoire à un autre (en le renommant si besoin) marche parfaitement chez-moi.
 
Re : Choisir, sélectionner et déplacer un fichier depuis un classeur excel

En effet, pardon, cela marche en parti sauf le nom qui n'est pas "par défaut" conserver.
Je pense qu'il doit falloir mettre quelques chose dans les parenthèses de Application.GetSaveAsFilename().

Bonne soirée et encore merci pour la réactivité.
Jarod.
 
Re : Choisir, sélectionner et déplacer un fichier depuis un classeur excel

Re,
Je pense qu'il doit falloir mettre quelques chose dans les parenthèses de Application.GetSaveAsFilename().
Exactement:
Destin = Application.GetSaveAsFilename("defaut.xls")
Bonne soirée.

Edit: En fait, tu peux y mettre aussi d'autres arguments facultatif:
GetOpenFilename, méthode

Cette méthode affiche la boîte de dialogue standard Ouvrir et lit un nom de fichier tapé par l'utilisateur sans réellement ouvrir les fichiers.
expression.GetOpenFilename(FileFilter, FilterIndex, Title, ButtonText, MultiSelect)
expression Obligatoire. Expression qui renvoie un objet Application.
FileFilter Argument de type Variant facultatif. Chaîne spécifiant les critères de filtrage des fichiers.
Cette chaîne est constituée de paires de chaînes de caractères représentant le filtre de fichier suivies de la spécification de filtre de fichier à caractère générique de MS-DOS, dont chaque partie et chaque paire est séparée par une virgule. Chaque paire distincte est contenue dans la liste déroulante Type de fichier. Par exemple, la chaîne suivante spécifie deux filtres de fichiers (fichiers texte et macros complémentaires) : « Fichiers texte (*.txt),*.txt,Macros complémentaires (*.xla),*.xla ».
Pour utiliser les expressions multiples à caractère générique de MS-DOS pour un seul type de filtre de fichier, séparez les expressions à caractères génériques par des points-virgules ; par exemple, « Fichiers Visual Basic (*.bas; *.txt),*.bas;*.txt ».
Cet argument devient par défaut « Tous les fichiers (*.*),*.* » s'il n'a pas été spécifié.
FilterIndex Argument de type Variant facultatif. Spécifie les numéros d'index des critères de filtrage de fichier par défaut, de 1 au nombre de filtres spécifiés dans FileFilter. Le premier filtre de fichier est utilisé si l'argument n'a pas été spécifié ou s'il est plus grand que le nombre de filtres présents.
Title Argument de type Variant facultatif. Spécifie le titre de la boîte de dialogue. Si cet argument n'a pas été spécifié, le titre est « Ouvrir ».
ButtonText Argument de type Variant facultatif. Macintosh uniquement.
MultiSelect Argument de type Variant facultatif. Affectez lui la valeur True pour permettre la sélection de plusieurs noms de fichiers. Affectez lui la valeur False pour permettre la sélection d'un seul nom de fichier. La valeur par défaut est False.
Notes

Cette méthode renvoie le nom du fichier sélectionné ou le nom tapé par l'utilisateur. Le nom renvoyé est susceptible d'inclure une spécification de chemin. Si MultiSelect a la valeur True, la valeur renvoyée est un tableau des noms de fichiers sélectionnés (même si un seul nom de fichier est sélectionné). Renvoie la valeur False si l'utilisateur annule la boîte de dialogue.
Cette méthode est susceptible de modifier le lecteur ou le dossier en cours.
Exemple

Cet exemple montre comment afficher la boîte de dialogue Ouvrir, dont le filtre de fichier est défini en fichiers texte. Si l'utilisateur choisit un nom de fichier, le code affiche ce nom de fichier dans une boîte de message.
fileToOpen = Application _
.GetOpenFilename("Text Files (*.txt), *.txt")
If fileToOpen <> False Then
MsgBox "Open " & fileToOpen
End If
 
Dernière édition:
Re : Choisir, sélectionner et déplacer un fichier depuis un classeur excel

Merci beaucoup, j'y suis parvenu.
Voici le code que j'ai mis si cela peut servir à d'autre:

Private Sub CommandButton1_Click()
Dim Source
Dim Destin
Source = Application.GetOpenFilename()
MsgBox Source
Destin = Application.GetSaveAsFilename(Source)
Name Source As Destin
End Sub

Bonne soirée et merci beaucoup.
 
- 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

  • Question Question
XL 2021 VBA excel
Réponses
4
Affichages
466
M
Réponses
1
Affichages
1 K
Retour