Bonjour,

J'aimerais utiliser un fichier excell 'de base' contenant une macro qui de mettre en page d'autres fichiers.

La raison est que j'ai plus de 1000 fichiers excell contenant un tableau que je voudrais mettre en page.

Mon fichier 'de base' doit me permettre d'ouvrir ces fichiers, de mettre en page le tableau (couleurs, font, ...) et de les sauver.

Je n'ai pas de problème pour ouvrir les 100 fichiers, mais je n'arrive pas à travailler dedans.

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
66
67
68
Sub testtab()

Dim xlapp As Excel.Application
Dim xlWbk As Excel.Workbook
Dim xlWsh, xlWsh2 As Excel.Worksheet
Dim Path, Path2 As String
Dim Ndossier, Nfichier, Nsheet, NivSeg As String
Dim Beginline, Endline, NumTab As Integer

'Référence dans mon fichier de base

Set xlapp = CreateObject("Excel.Application")

xlapp.DisplayAlerts = False

Sheets("Liste_Tables").Select

Beginline = 2

If Range("A" & Beginline).Offset(1, 0).Value <> "" Then
    Endline = Range("A" & Beginline).End(xlDown).Row
Else
    Endline = Beginline
End If

For NumTab = Beginline To Endline


Ndossier = Range("A" & NumTab).Value
Nfichier = Range("B" & NumTab).Value
Nsheet = Range("C" & NumTab).Value
NivSeg = Range("D" & NumTab).Value

Path2 = Ndossier & Nfichier & ".xlsx"

'Ouverture de mon fichier à modifier avec la macro

Set xlWbk = xlapp.Workbooks.Open(Path2)
xlapp.Visible = True

Set xlWsh = xlWbk.Worksheets(Nsheet)

xlWbk.Worksheets(Nsheet).Select

xlWbk.Worksheets(Nsheet).Rows("1:4").Delete

Dim FirstCol, LastCol, FirstCel, LastCel, TabCel As Integer

FirstCol = 1
LastCol = xlWbk.Worksheets(Nsheet).Cells(NivSeg + 1, FirstCol).End(xlToRight).Column
LastCel = xlWbk.Worksheets(Nsheet).Range("A65536").End(xlUp).Row

'Font
xlWbk.Worksheets(Nsheet).Range(Cells(1, 1), (Cells(LastCel, LastCol))).Select
With Selection.Font
    .Name = "Tahoma"
    .Size = 8
    .Bold = False
    .Italic = False
    .Color = RGB(97, 96, 101)
End With


Next

xlapp.DisplayAlerts = True
End Sub
J'arrive à supprimer des lignes, mais je ne sais pas comment aller plus loin (modifier le font, les couleus, ...), car j'ai besoin de pouvoir travailler dans la sheet ACTIVE.
Ma seule question est donc :
Comment puis-je faire pour travailler dans la sheet Nsheet de ce fichier comme dans une sheet de mon fichier de base ?

Merci d'avance pour votre aide.

Anthony