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 :
Je suis ouverte à toutes propositions pouvant m'aider..
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"))
Par avance merci!
Partager