Bonjour,

voici un code qui permet d'ouvrir un fichier excel dans un autre processus que le fichier maitre.
Je fais ça afin de ne pas afficher le fichier ouvert (bcp de fichiers dans la macro finale). Sinon les fichiers s'ouvrent une fraction de seconde avant de pouvoir les cacher.

Le code bloque sur For Each cellule In wb.Sheets(Sht).Range("C13,T21") et je n'arrive pas à corriger l'erreur.

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
Public MyWorkbook As Workbook
Public xlApp As New Excel.Application
Public wb As New Excel.Workbook
 
Sub toto()
 
    Dim Sht As Integer
    Dim tmp As Variant
    Dim No As Integer
    Dim cellule As Variant
 
    Set MyWorkbook = ActiveWorkbook
    Set wb = xlApp.Workbooks.Open("D:\fichier1.xls", ReadOnly:=True)
    xlApp.Visible = True 'pour le debug uniquement
 
    For Sht = 1 To wb.Sheets.Count
        For Each cellule In wb.Sheets(Sht).Range("C13,T21") ' la version finale contiendra + de cellules
            tmp = cellule.Value
        Next
    Next Sht
 
    wb.Close False
    xlApp.Quit
 
    Set wb = Nothing
    Set xlApp = Nothing
 
End Sub