Bonjour,
Voici une première macro qui me permet de faire un copier/coller d'un fichier à un autre dont le chemin est indiqué dans la macro.
Je souhaite maintenant ouvrir une boite de dialogue pour choisir le fichier. Après recherche sur le forum j'ai inséré les lignes de code suivantes mais mon fichier ouvert n'est pas actif??
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56 Sub chaud1() ' ' essai Macro ' ' Keyboard Shortcut: ' ' Dim wkbSource As Workbook Dim wkbdestination As Workbook Dim NouvelleFeuille As Worksheet ' ' ' ouverture fichier ' Set wkbSource = Workbooks.Open("G:\Users\pascal\Documents\Comparaison\Fichier S+1.xlsm") wkbSource.Worksheets("Charge atelier chaudronnerie").Activate ' 'Positionner le pointeur sur la première cellule vide ' Range("B1").Select Selection.End(xlDown).Select ActiveCell.Offset(1, 0).Range("B1").Select LIGNEFIN = ActiveCell(1, 0).Address() FIN = Range(LIGNEFIN).Row ' ' Selectionner la zone ' LIGNEFIN = ActiveCell.Row Range("A1" & ":N" & LIGNEFIN).Select ' ' copier ' Selection.Copy ' ' fermer un fichier sans sauvegarde ' ActiveWorkbook.Close False ' ' ouverture fichier destination ' Set wkbdestination = Workbooks.Open("G:\Users\pascal\Documents\Comparaison\Fichier S.xlsx") ' ' Ajouter une nouvelle feuille ' Set NouvelleFeuille = wkbdestination.Sheets.Add NouvelleFeuille.Name = "nouvelle" wkbdestination.Worksheets("nouvelle").Activate Range("A1").Select ' 'coller ' ActiveSheet.Paste End Sub
Merci d'avance pour votre aide
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65 Sub chaud() ' ' essai Macro ' ' Keyboard Shortcut: ' ' Dim wkbSource As Workbook Dim wkbdestination As Workbook Dim NouvelleFeuille As Worksheet ' ' ' ouverture fichier ' Application.Dialogs(xlDialogOpen).Show ("G:\Users\pascal\Documents\Comparaison") ' encore: résultatOK = Application.Dialogs(xlDialogOpen).Show If Not résultatOK Then MsgBox "vous devez choisir un fichier" GoTo encore End If ' 'Positionner le pointeur sur la première cellule vide ' Range("B1").Select Selection.End(xlDown).Select ActiveCell.Offset(1, 0).Range("B1").Select LIGNEFIN = ActiveCell(1, 0).Address() FIN = Range(LIGNEFIN).Row ' ' Selectionner la zone ' LIGNEFIN = ActiveCell.Row Range("A1" & ":N" & LIGNEFIN).Select ' 'copier ' Selection.Copy ' ' fermer un fichier sans sauvegarde ActiveWorkbook.Close False ' ' ouverture fichier destination Application.Dialogs(xlDialogOpen).Show ("G:\Users\pascal\Documents\Comparaison") ' encores: résultatOK = Application.Dialogs(xlDialogOpen).Show If Not résultatOK Then MsgBox "vous devez choisir un fichier" GoTo encores End If ' ' ' Ajouter une nouvelle feuille ' Set NouvelleFeuille = wkbdestination.Sheets.Add NouvelleFeuille.Name = "nouvelle" wkbdestination.Worksheets("nouvelle").Activate Range("A1").Select ActiveSheet.Paste End Sub
Partager