Copier de valeur entre fichier, depuis fichier actif

Bonjour,

Je cherche à copier des valeur d'un fichier que j'ouvre, sur le fichier actif depuis lequel je lance la macro

Mon pb est que le fichier depuis lequel je lance la macro n'a pas de nom fixe.

Pourriez vous me dire comment avoir ce nom qui correspond au fichier actif depuis lequel est lancée la macro, et non pas TOTO.xlsx comme dans l'exemple?

Merci

Sub Copier_Info()

Dim Chemin As String, NomFichier As String

Sheets("OFFRES").Select

Range("E2:L20000").ClearContents

Range("E2").Select

Chemin = "C:\EXPORT_WSH\"

NomFichier = "OFFRE_WSH_CORE.xlsx"

Workbooks.Open Filename:=Chemin & NomFichier

Windows("OFFRE_WSH_CORE.xlsx").Activate

'Sheets("OFFRES").Select

Range("D2:K20000").Select

Selection.Copy

'Windows("TOTO.xlsx").Activate

Sheets("OFFRES").Select

Range("E2:L20000").Select

ActiveSheet.Paste

Windows("OFFRE_WSH_CORE.xlsx").Activate

Range("D2:K20000").Select

Selection.Copy

Application.CutCopyMode = False

ActiveWindow.Close

End Sub

Bonjour,

Essaie ce code :

Sub Copier_Info()
Dim Chemin As String, NomFichier As String, FichierActif As Workbook

Set FichierActif = ActiveWorkbook 'Nomme le fichier actif
With FichierActif 'Toute instruction commençant par "." le concerne
   .Sheets("OFFRES").Range("E2:L20000").ClearContents 'Pas besoin de "Select"

   Chemin = "C:\EXPORT_WSH\"
   NomFichier = "OFFRE_WSH_CORE.xlsx"
   Workbooks.Open Filename:=Chemin & NomFichier 'Active automatiquement ce document

   Sheets("OFFRES").Range("D2:K20000").Copy .Sheets("OFFRES").Range("E2:L20000") 'la plage après ".copy" correspond à l'endroit où coller
   ActiveWorkbook.Close False 'Ferme le fichier ouvert sans l'enregistrer
End With

End Sub

Bonjour,

Essaie ce code :

Sub Copier_Info()
Dim Chemin As String, NomFichier As String, FichierActif As Workbook

Set FichierActif = ActiveWorkbook 'Nomme le fichier actif
With FichierActif 'Toute instruction commençant par "." le concerne
   .Sheets("OFFRES").Range("E2:L20000").ClearContents 'Pas besoin de "Select"

   Chemin = "C:\EXPORT_WSH\"
   NomFichier = "OFFRE_WSH_CORE.xlsx"
   Workbooks.Open Filename:=Chemin & NomFichier 'Active automatiquement ce document

   Sheets("OFFRES").Range("D2:K20000").Copy .Sheets("OFFRES").Range("E2:L20000") 'la plage après ".copy" correspond à l'endroit où coller
   ActiveWorkbook.Close False 'Ferme le fichier ouvert sans l'enregistrer
End With

End Sub

Hello Pedro

Il bug sur la ligne: Sheets("OFFRES").Range("D2:K20000").Copy .Sheets("OFFRES").Range("E2:L20000") 'la plage après ".copy" correspond à l'endroit où coller

HEllo

Correction apportées avec:

Range("D2:K20000").Copy .Sheets("OFFRES").Range("E2:L20000")

Le resultat fonctionne

Merci

Bonjour,

Essaie ce code :

Sub Copier_Info()
Dim Chemin As String, NomFichier As String, FichierActif As Workbook

Set FichierActif = ActiveWorkbook 'Nomme le fichier actif
With FichierActif 'Toute instruction commençant par "." le concerne
   .Sheets("OFFRES").Range("E2:L20000").ClearContents 'Pas besoin de "Select"

   Chemin = "C:\EXPORT_WSH\"
   NomFichier = "OFFRE_WSH_CORE.xlsx"
   Workbooks.Open Filename:=Chemin & NomFichier 'Active automatiquement ce document

   Sheets("OFFRES").Range("D2:K20000").Copy .Sheets("OFFRES").Range("E2:L20000") 'la plage après ".copy" correspond à l'endroit où coller
   ActiveWorkbook.Close False 'Ferme le fichier ouvert sans l'enregistrer
End With

End Sub

Hello Pedro

Il bug sur la ligne: Sheets("OFFRES").Range("D2:K20000").Copy .Sheets("OFFRES").Range("E2:L20000") 'la plage après ".copy" correspond à l'endroit où coller

Rechercher des sujets similaires à "copier valeur entre fichier actif"