Bonjour à tous et à toutes,
Voilà je dois maintenir une base Access 2010 avec des accès fichiers excel, avec le code suivant dans un module :
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

Public Sub EcrireTableur(onglet)
    Dim xlApp As Excel.Application
    Dim oWkb As Excel.Workbook
    Dim oWSht As Excel.Worksheet
    Dim fDlg As Office.FileDialog, strFichier As String
    Dim oRst As DAO.Recordset
    
        
    ' Créer un objet Excel' (ce qui équivaut à démarrer Excel à distance)
    Set xlApp = CreateObject("Excel.Application")
    
    cSQL = "select distinct UG, NB from [TAB_COUNT_UG];"
    Set oRst = CurrentDb.OpenRecordset(cSQL)
 
    With xlApp
 
        Set oWkb = xlApp.Workbooks.Open(DLookup("[CHEMIN_ROULEMENT]", "TAB_PARAMETRE") & DLookup("[NOM_FICHIER_ROULEMENT]", "TAB_PARAMETRE"))
        MsgBox ActiveSheet.Index
        MsgBox ActiveSheet.Name
        Set oWSht = oWkb.Worksheets(onglet)
Cette procedure est appelé depuis du code vba sur un formulaire Access, le problème que j'ai est que l'indice de l'onglet est faux par moment et plutot souvent faux que bon; il me renvoit pas le bon et des fois meme le nom de l'onglet "ActiveSheet.Index" et "ActiveSheet.Name", il me renvoit aussi comme nom "Sheet(0)"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
Private Sub Commande8_Click()
.....
 
EcrireTableur ("Nom_Onglet")
........
Si quelqu'un peut m'aider merci