Ça fait plusieurs jours que je me bats avec cette bête manipulation qui consiste à copier depuis un classeur et coller sur un autre.
Je précise que ma macro est enregistrée dans le classeur de macros personnelles.
Je télécharge sur le site de ma banque les écritures des derniers jours au format xls. J'ai donc un bête tableau dans ce fichier.
Voici ce je veux de ma macro :
1) qu'elle copie les données des écritures de la banque sauf la dernière ligne
2) qu'elle ouvre le fichier de mes comptes
3) qu'elle rajoute une ligne à la fin du tableau du fichier de mes comptes
4) qu'elle colle les données sur cette ligne (j'ai conscience que les données collées peuvent être plus grandes (en nb de lignes et colonnes) que la cellule sélectionnée mais ça ne pose pas de problème "à la main" donc...)
Le problème se pose sur la dernière ligne du code, au moment du "coller" j'ai l'erreur 1004 :" la méthode paste de la classe Worksheets a échoué."
Je pense que mon problème vient du fait qu'il y a trois classeurs dans l'affaire : celui qui contient les données de la banque, celui de destination, et celui où la macro est enregistrée..
Je précise que j'ai déjà essayé pas mal de méthodes pour le "coller" de la fin sans succès..
Voici mon code :
Merci d'avance si quelqu'un voit où se trouve le problème.
Je précise que ma macro est enregistrée dans le classeur de macros personnelles.
Je télécharge sur le site de ma banque les écritures des derniers jours au format xls. J'ai donc un bête tableau dans ce fichier.
Voici ce je veux de ma macro :
1) qu'elle copie les données des écritures de la banque sauf la dernière ligne
2) qu'elle ouvre le fichier de mes comptes
3) qu'elle rajoute une ligne à la fin du tableau du fichier de mes comptes
4) qu'elle colle les données sur cette ligne (j'ai conscience que les données collées peuvent être plus grandes (en nb de lignes et colonnes) que la cellule sélectionnée mais ça ne pose pas de problème "à la main" donc...)
Le problème se pose sur la dernière ligne du code, au moment du "coller" j'ai l'erreur 1004 :" la méthode paste de la classe Worksheets a échoué."
Je pense que mon problème vient du fait qu'il y a trois classeurs dans l'affaire : celui qui contient les données de la banque, celui de destination, et celui où la macro est enregistrée..
Je précise que j'ai déjà essayé pas mal de méthodes pour le "coller" de la fin sans succès..
Voici mon code :
Code:
Sub Insérer_écritures()
'
' Insérer_écritures Macro
Dim DernLigne As Integer
Dim nblignes As Integer
Dim LR As ListRows
Dim ListObj As ListObject
DernLigne = 1 + Columns(1).Find("*", , , , xlByColumns, xlPrevious).Row
Range("A1:I" & CStr(DernLigne - 2)).Copy
Workbooks.Open Filename:="D:\Mes documents\Dropbox\Comptes\Comptes Ben.xlsx"
Workbooks("Comptes Ben.xlsx").Activate
Worksheets("Livre de comptes 2014").Activate
Set ListObj = Worksheets("Livre de comptes 2014").ListObjects("Tableau1")
ListObj.ListRows.Add
nblignes = Range("Tableau1").Rows.Count
Range("A" & CStr(1 + nblignes)).Select
ActiveSheet.Paste
End Sub
Merci d'avance si quelqu'un voit où se trouve le problème.