Macro Sélectionner/Ouvrir/Enregistrer un fichier

Bonjour,

J’ai fait une macro qui récupére des données dans un fichier source pour les intégrer dans un fichier de cible.
Je souhaite l’améliorer en permettant automatiquement de récupérer le fichier cible à un endroit X et l’enregistrer sous un autre nom dans un endroit Y.

Cela m’éviterait de refaire toute ma macro qui utilise cette application : ActiveCell.Formula = « =‹ L:\Processus Supervision\Fichier intermédiaire[Rapport_de_la supervision V 01 2017 .xlsm]Statistiques générales ›!$E$18 »

J’avais réussi a sélectionner mon fichier source et à l’ouvrir mais je n’arrive pas à l’utiliser comme tel.
Le plus simple est de l’enregistrer de manière transparente et automatique pour que mon pointeur cité ci-dessus fonctionne toujours et que je ne soit pas obligé de refaire toute macro.

Merci pour votre aide.

Salut
Je te propose de passer par des boites de dialogue qui iraient chercher ton fichier source (la boîte peut être prépositionner dans un répertoire à toi après de déterminer le chemin jusqu’au fichier) et à l’identique pour enregistrer le fichier cible (pré-positionnement de la boite et sélection manuelle du reste du chemin cible jusqu’au répertoire d’enregistrement avec saisie du nom)
Qu’en penses tu ?

Bonne idée je vais voir comment créer au début de ma macro l’appel et la programmation d’une boîte de dialogue.

Merci

Je te propose ces lignes de code
En mettant en cellule A1 de la feuille active de ton fichier qui porte la macro le chemin de base pour prépositionner les boîtes de dialogue (exemple en cellule A1 : C:\Users\Toto\Excel\Forum2 pour un pré-positionnement de la boîte de dialogue sur le répertoire Forum2)

Pour ouvrir un document :
ChDrive (Split(Range(« A1 »), « : »)(0))
ChDir (Range(« A1 »))
On Error Resume Next
Workbooks.Open Filename:=Application.GetOpenFilename("(.),")

Pour enregistre un document :

nomfichier = InputBox(« Veuillez saisir le nom du fichier ! », « Nom fichier »)
With Application.FileDialog(msoFileDialogFolderPicker)
.InitialFileName = Range(« A1 »)
.Show
If .SelectedItems.Count > 0 Then
Chemin = .SelectedItems(1)
End If
End With
If Chemin <> «  » Then
ActiveWorkbook.SaveAs Filename:=Chemin & «  » & nomfichier, FileFormat:=xlNormal
End If

A inclure dans ton code au bon endroit

Merci beaucoup. Je t’est cette nuit . :smile:

Ce sujet a été automatiquement fermé après 30 jours. Aucune réponse n’est permise dorénavant.