Copier le contenu d'une feuille de classeur vers un classeur de destination

Bonjour,

Je cherche à copier le contenu d'une feuille nommée 'BD-clients' présente dans le fichier clients.xlsx vers

La fonction suivante est appelé au démarrage par le classeur de destination, mais la recopie ne se fait pas .

Je ne trouve pas le problème, pouvez vous m'aider svp ?

Source :

feuille 'BD-client' présent dans "clients.xlsx"

ce contenu copié grâce a cette fonction vers

Destination :

feuille 'Clients' dans le fichier "main.xlsx"

Option Explicit
Public Const Fichier  As String = "clients.xlsx"
Public Chemin As String

Sub chargement_fichier_clients()

    Dim wbk_destination As Workbook
    Dim wbk_source As Workbook
    Dim fileStr As String

    'add your own file path
    fileStr = ThisWorkbook.Path & Application.PathSeparator

    Set wbk_source = Workbooks.Add(fileStr & Fichier)   ' Source
    Set wbk_destination = ActiveWorkbook      ' Destination  

    'wbk_source.Sheets("BD-Clients").Copy After:=Workbooks("WorkbookNameYouCopyCodeInto").Sheets("Clients")
    wbk_source.Sheets("BD-Clients").Copy After:=wbk_destination.Sheets("Clients")
    wbk_source.Saved = True
End Sub

Lorsque la copie fonctionnera, est il possible de faire afficher un message d'alerte au cas ou le fichier source serait inexistant ou non trouvé ?

Merci beaucoup,

Bonjour,

Voici le code corrigé ainsi que la réponse à ta question :

Sub chargement_fichier_clients()

    Dim wbk_destination As Workbook
    Dim wbk_source As Workbook
    Dim fileStr As String

    'add your own file path
    fileStr = ThisWorkbook.Path & Application.PathSeparator

    If Dir(fileStr & Fichier) = "" Then MsgBox "Le fichier est introuvable !": Exit Sub

    Set wbk_source = Workbooks.Open(fileStr & Fichier) 'et pas "Workbooks.Add" !
    Set wbk_destination = ThisWorkbook 'et pas "ActiveWorkbook", car le classeur actif est "wbk_source" !

    wbk_source.Sheets("BD-Clients").Copy , wbk_destination.Sheets("Clients")

    wbk_source.Saved = True

End Sub

Merci beaucoup pour votre aide,

Si à présent je veux sauvegarder l'intégralité la feuille de calcul, appelée 'Clients' du classeur dans lequel je travaille ( classeur déja ouvert ) vers un fichier appelé "Clients.xlsx" , comment puis je faire ?

Est il possible de regénérer / recréer le fichier "Clients.xlsx" si celui ci n'existe pas / plus lors de l'appel de la fonction ?

Ceci ne fonctionne pas :

Public Chemin As String
Public Const Fichier  As String = "clients.xlsx"
Sub enregistrement_fichier_clients()

    Dim wbk_destination As Workbook
    Dim wbk_source As Workbook

    Chemin = ThisWorkbook.path & Application.PathSeparator

    If Dir(Chemin & Fichier) = "" Then MsgBox "Le fichier de destination : " & Fichier & " est introuvable". & Chr(10) & "" & Chr(10) & _
    "Veuillez vérifier que le fichier " & Fichier & _
    " se trouve bien dans le même répertoire que ce fichier.": Exit Sub

    Set wbk_source = ThisWorkbook
    Set wbk_destination = Workbooks.Open(Chemin & Fichier)

    wbk_source.Sheets("BD-Clients").Cells.Copy wbk_destination.Sheets("Clients").Range("A1")

    wbk_destination.Close savechanges:=True

End Sub

bonjour

salut Theze au passage

il semble que tu fasses tout très compliqué

1/

ne jamais copier/coller entre fichiers, ceci crée des données en doublon

faire des feuilles images (par simples = ou des liaisons, ou mieux Power query

2/

drôle d'idée de recréer un fichier

sutout qu'ensuite il faut le "recopier"

la vraie question est : qu'est-ce qui motive tant de manoeuvres ?

Rechercher des sujets similaires à "copier contenu feuille classeur destination"