macro sous total

ngexcel

XLDnaute Occasionnel
Bonjour je suis sur un projet avec un fichier excel une base de donnée brute
je cherche une macro qui puisse me faire la même chose que la fonction sous total avec la somme des colonnes sélectionnés voir mon exemple cela sera plus claire
merci d avance
 

Pièces jointes

  • export.XLSX
    193.1 KB · Affichages: 57
  • resultat de l exportation.xlsx
    9 KB · Affichages: 48

Dranreb

XLDnaute Barbatruc
Procédure :
VB:
Sub Résumé()
Dim Poste As SsGr, L As Long, T(1 To 1000, 1 To 4), Détail
For Each Poste In Gigogne(Workbooks("export.XLSX").Worksheets("Sheet1").Rows(2), 1)
   L = L + 1
   T(L, 1) = Poste.Id
   For Each Détail In Poste.Co
      T(L, 2) = T(L, 2) + Détail(12)
      T(L, 3) = T(L, 3) + Détail(9)
      Next Détail
   T(L, 4) = Poste.Count
   Next Poste
Workbooks.Add
ActiveSheet.[A3:D1002].Value = T
End Sub
 

ngexcel

XLDnaute Occasionnel
bonjour Dranreb
je suis pas très a l' aise avec ta procédure comme je reçois le fichiers export chaque heure et que je dois extraire chaque heure juste les colonnes A comme montre mon exemple avec les totaux cela doit être automatique car j ai un fichier qui pointe vers le fichier résultat c est pas s imple alors que si je le fais manuellement je sais le faire je sélectionne le fichier je fais sous total de la colonne A je fait la somme de la colonne A, i, L j ai les résultats que je reporte manuellement dans mon fichier résultat mais c'est long
merci a vous
 

Dranreb

XLDnaute Barbatruc
Si la macro est dans le fichier qui doit afficher le résultat vous pouvez faire à la fin
VB:
Feuil1.[A3:D1002].Value = T
À supposer que Feuil1 soit le nom de l'objet Worksheet de la rubrique Microsoft Excel Objets qui représente la feuille où vous le voulez (quel que soit son nom Excel).
 

JCGL

XLDnaute Barbatruc
Bonjour à tous,

Par formules (ouvrir les 2 fichiers la première fois) :
Code:
=SI(A2="";"";SOMMEPROD(([Export.xlsx]Sheet1!$A$2:$A$5000=A2)*[Export.xlsx]Sheet1!$L$2:$L$5000))

A+ à tous
 

Pièces jointes

  • Synthèse.xlsx
    69.9 KB · Affichages: 43
  • Export.xlsx
    178.5 KB · Affichages: 50

ngexcel

XLDnaute Occasionnel
bonjour et merci pour votre aide à tous
JCGL si dans mon fichier export je reçois en colonne A un nouveau poste de travail exemple 01B comment faire pour qu'il soit dans synthèse si non c est exactement la formule que je recherchais merci a tous
 

JCGL

XLDnaute Barbatruc
Bonjour à tous,

La formule prendrait 30 secondes à éliminer les doublons...
Un bout de code dans le fichier Synthèse.xlsm (les 2 fichiers dans le même répertoire)

A+ à tous
 

Pièces jointes

  • Synthèse.xlsm
    53.3 KB · Affichages: 67
  • Export.xlsx
    178.4 KB · Affichages: 58

ngexcel

XLDnaute Occasionnel
re bonjour et merci
cela fonctionne j ai mis les deux fichiers dans un répertoire c:\exportation
peux ton lui donner dans la macro le répertoire ou son stocké les deux fichiers pour ne pas qu'il me pose la question ou est le fichier export et comme ca j ai juste a ouvrir le fichier synthèse
pour que la macro se lance automatiquement pour faire ma mise a jour merci d avance si non c est super
 

ngexcel

XLDnaute Occasionnel
bonsoir
oui mais je suis obligé de cliquer sur la macro pour mettre a jour et il me demande le chemin du fichier
Workbooks.Open Filename:=ThisWorkbook.Path & "\Export.xlsx"
si je mets Workbooks.Open Filename:=ThisWorkbook.Path & "c:\exportation\Export.xlsx" ca marche pas
j ai une erreur met surtout je ne veux pas cliquer sur la macro pour mettre a jour j ai besoin que la mise a jour ce fasse a l ouverture du fichier synthèse
je suis désolé je suis pas loin de ce que je veux merci
 

JCGL

XLDnaute Barbatruc
Bonjour à tous,

Pourquoi ne mets-tu pas les 2 fichiers dans le même répertoire (C:\Exportation par exemple) ?

Dans le module ThisWorkBook :
VB:
Option Explicit

Private Sub Workbook_Open()
Call Test
End Sub

A+ à tous
 
Dernière édition:

Discussions similaires

Réponses
6
Affichages
331
Réponses
12
Affichages
573
Réponses
3
Affichages
189

Statistiques des forums

Discussions
312 115
Messages
2 085 453
Membres
102 890
dernier inscrit
selkis