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 ?