Bonjour,

Je souhaite créer une macro qui me récupère des données d'une extraction.
J'ai jusque la réussi à automatiser le lancement de l'application pour effectuer l'extraction, filtrer les données que je veux.

Et c'est la que se pose mon problème, j'aimerais utiliser la fonction sous-total pour faire la somme d'une colonne pour ne prendre en compte que les cellules qui m'intéresse.
Cependant je n'y arrive pas.
voici mon code :

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
Dim i As Integer, somme As Integer
Dim LR As Long


Shell "C:\Temp\BN_LanceMesSql.exe" 'ouvrir appli extraction automatique
Application.Wait Now + TimeValue("0:01:00") 'attente de 35secondes pour faire l'extraction


Set xlApp = GetObject("Classeur2").Application ' Récupère le nom de l'object Classeur2
            xlApp.Application.Workbooks("Classeur2").Sheets(1).Activate    ' Selectionne la feuille 1 du classeur2
            xlApp.Application.WindowState = xlMaximized  ' Mettre plein écran

xlApp.Application.Workbooks("Classeur2").Sheets(1).Range("A1:I1").Select
    xlApp.Application.Workbooks("Classeur2").Sheets(1).Range("A1:I1").AutoFilter
    xlApp.Application.Workbooks("Classeur2").Sheets(1).Range("A:I").AutoFilter Field:=4, Criteria1:="10114102"
    xlApp.Application.Workbooks("Classeur2").Sheets(1).Range("A:I").AutoFilter Field:=2, Criteria1:="20606"  'Filtre sur article et poste
    'somme = (xlApp.Application.Workbooks("Classeur2").WorksheetFunction.Subtotal(109, xlApp.Application.Workbooks("Classeur2").Sheets(1).Range("I2:I100")))
    
    xlApp.Application.Workbooks("Classeur2").Sheets(1).Range("I2:I600").Select
    xlApp.Application.Workbooks("Classeur2").Sheets(1).Range("I2:I600").NumberFormat = "0"
   
    somme = WorksheetFunction.Subtotal(109, xlApp.Application.Workbooks("Classeur2").Sheets(1).Range("I2:I600"))
Je suis ouverte à toutes propositions pouvant m'aider..

Par avance merci!