Fusionner des fichiers Excel

Résolu/Fermé
Kerdaven Messages postés 6 Date d'inscription jeudi 29 octobre 2020 Statut Membre Dernière intervention 30 octobre 2020 - 29 oct. 2020 à 19:00
yg_be Messages postés 22726 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 - 30 oct. 2020 à 12:51
Bonjour,
Mon sujet a été traité plusieurs fois :

Mon besoin :
Fusionner plusieurs fichiers Excel de même structure (colonnes A à L inclues uniquement jusque dernière ligne non vide)
Pour la macro est enregistrée dans mes macro personnelle pour être lancée depuis n'importe quel classeur.
Elle envoi les données toujours dans le même fichier appelé "cumul.xls"

Je me tape la tête sur une erreur 1004 (je suis sur Mac) sur la ligne "ActiveSheet.Paste"

Voici le code :
Sub cumul2()
'
' cumul2 Macro
'

'
Range("A2").Select
Range(Selection, Selection.End(xlDown)).Select
Range(Selection, "A:L").Select
Selection.Copy
Workbooks("cumul.xlsx").Activate
ActiveSheet.Paste
Range("A:A,C:L").Select
'Range("C1").Activate
Selection.ColumnWidth = 20
Range("A65536").End(xlUp).Offset(1, 0).Select

End Sub

Je pensais savoir faire deux trois trucs en VBA mais là je deviens dingue... vos lumières m'aideront.

Merci
A voir également:

3 réponses

yg_be Messages postés 22726 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476
29 oct. 2020 à 20:21
bonjour,
il est recommandé d'éviter de faire select & activate en VBA.
0
yg_be Messages postés 22726 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476
29 oct. 2020 à 20:25
donc, par exemple, au lieu de
Workbooks("cumul.xlsx").Activate
ActiveSheet.Paste

écris
Workbooks("cumul.xlsx").Worksheets("...").Paste
0
merci pour votre retour rapide et proposition de solution.
Malheureusement cela donne la même erreur 1004
0
yg_be Messages postés 22726 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476
29 oct. 2020 à 21:10
peux-tu partager ton fichier?
0
Kerdaven Messages postés 6 Date d'inscription jeudi 29 octobre 2020 Statut Membre Dernière intervention 30 octobre 2020
30 oct. 2020 à 09:26
Bonjour,

Voici deux fichiers exemple qui doivent alimenter le fichier "cumul"
https://www.cjoint.com/c/JJEiyzCo1vV
https://www.cjoint.com/c/JJEizOhGniV
https://www.cjoint.com/c/JJEiAl4Tr2V

Merci pour votre aide
0
yg_be Messages postés 22726 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476
30 oct. 2020 à 11:43
quel est précisément le message d'erreur que tu obtiens?
0
Kerdaven Messages postés 6 Date d'inscription jeudi 29 octobre 2020 Statut Membre Dernière intervention 30 octobre 2020 > yg_be Messages postés 22726 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024
30 oct. 2020 à 11:45
0
Kerdaven Messages postés 6 Date d'inscription jeudi 29 octobre 2020 Statut Membre Dernière intervention 30 octobre 2020 > Kerdaven Messages postés 6 Date d'inscription jeudi 29 octobre 2020 Statut Membre Dernière intervention 30 octobre 2020
30 oct. 2020 à 11:46
et quand je débogue c'est cette ligne qui pose soucis :
0
yg_be Messages postés 22726 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 476 > yg_be Messages postés 22726 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024
30 oct. 2020 à 12:25
je ferais ainsi:
Sub cumul2()
Dim ws As Worksheet, source As Range, destination As Range
Set ws = ActiveSheet
Set source = Range(ws.Range("A2"), ws.Range("A2").End(xlDown)).Resize(, 12)
Set destination = Workbooks("cumul.xlsx").Sheets("Feuil1").Range("A65536").End(xlUp).Offset(1, 0) _
    .Resize(source.Rows.Count, source.Columns.Count)
source.Copy destination
destination.ColumnWidth = 20
End Sub
0
Kerdaven Messages postés 6 Date d'inscription jeudi 29 octobre 2020 Statut Membre Dernière intervention 30 octobre 2020 > yg_be Messages postés 22726 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024
30 oct. 2020 à 12:28
OK l'idée est de ne plus manipuler les classeur mais des variables contenant les plages à copier / coller ?

Je teste
0