Bonjour à tous !!
J'ai crée une macro (avec l'aide d'autres membre) permettant de copier les valeur d'un premier fichierA à la suite horizontalement d'un second fichier excel.
Comment faire si je ne souhaite pas copier la première colonne du fichier A, ni les 3 premières lignes, c'est à dire que je souhaite copier mon fichier A (classeur1) à partir de la cellule B4
Je vous joins 2 fichiers afin de vous montrer ce que je souhaite faire, le fichier "titi" dispose de toutes les informations nécessaires et c'est pour cela que je ne souhaite pas les ajouter avec le classeur1.
Le fichier recap correspond à ce que j'aimerais avoir à la fin (c'est mon objectif).
PS: il s'agit de fichier exemple et les fichiers sur lesquels je travaille sont beaucoup plus gros donc si on doit mettre une limitation en terme de lignes (minimum 1000) et pour les colonnes (QOD)
Merci de votre aide !
Voici la macro:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 Option Explicit Sub testcomplet() Dim F1 As Variant Dim F2 As Variant Dim W1 As Workbook Dim W2 As Workbook Dim rng As Range Dim cel As Range F1 = Application.GetOpenFilename("Excel File (*.xls;*.xlsx),*xls;*.xlsx", , "Source") If F1 = False Then Exit Sub MsgBox "Le fichier source sélectionné est :" & vbCr & F1 F2 = Application.GetOpenFilename("Excel File (*.xls;*.xlsx),*xls;*.xlsx", , "Destination") If F2 = False Then Exit Sub MsgBox "Le fichier destination sélectionné est :" & vbCr & F2 Set W1 = Workbooks.Open(Filename:=F1) Set rng = W1.Worksheets(1).Range("A1").CurrentRegion Set W2 = Workbooks.Open(Filename:=F2) With W2.Worksheets(1) Set cel = .Cells(1, .Columns.Count).End(xlToLeft).Offset(, 1) End With rng.Copy Destination:=cel W2.Save W2.Close W1.Close End Sub
Partager