Copier un tableau dans un autre fichier VBA
G
Bonjour,
Je n'ai pas de Excel à fournir car mon fichier est trop lourd mais ce que je cherche à faire est assez simple à expliquer.
En gros j'ai une base de données, sous la forme d'un tableau dans un fichier. Et je voudrais simplement copier ce tableau dans un second fichier grâce à une macro.
Etant débutant je n'ai pas trop d'idées de comment m'y prendre. Si quelqu'un à une solution je prend :)
Merci d'avance !
Bonjour.
Essaie d'adapter ceci sous réserve que ton fichier dans lequel tu dois coller existe :
La première macro vérifie juste si le fichier en question est ouvert
Function FichOuvert(f As String) As Boolean
On Error Resume Next
FichOuvert = Not Workbooks(f) Is Nothing
End FunctionSub CopieFeuille()
Rem ----------------------------------------------------------------------------------------------Mes variables
Dim monFichier As String, Chemin As String, monFichier2 As String DernLigne as Long, DernColonne as Integer
Rem NB, dans ce cas, les deux fichiers sont dans le même répertoire, une seule variable ""Chemin"". Si les tiens sont séparés, il faudra créer une variable Chemin2 pour le récupérer.
Chemin = "C:\Users\" & Application.UserName & "\Documents\"
Rem J'enregistre les noms des deux Classeurs concernés
monFichier2 = "FichierColle.xlsm"
monFichier = "FichierCopie.xlsm" ' ou ActiveWorkBook.Name
With WorkBooks(monFichier).Activesheet
DernLigne = .Range("A" & .Rows.Count).End(xlUp).Row
DernColonne = .Cells(2, .Cells.Columns.Count).End(xlToLeft).Column ' Espérant que la 1ere ligne soit l'entête.
.Range(Cells(2, 2), Cells(DernLigne, DernColonne)).Copy
Rem Je Vérifie si le classeur est déjà ouvert
If FichOuvert(monFichier2) Then 'Si tel est le cas, je colle directement ...
Workbooks(monFichier2).Sheets("Feuille dans la quelle tu colles").Cells(1,1).Paste
Else 'Sinon, on l'ouvre et on colle ...
Workbooks.Open Filename:=Chemin & "\" & monFichier2
Workbooks(monFichier2).Sheets("Feuille dans la quelle tu colles").Cells(1,1).Paste
End If
End with
End SubRevient nous si tu as besoin de vérifier si le fichier existe, ou en cas de tout autre besoin.
Cordialement.