XL 2013 VBA FORMULES calcul en auto

Honor

XLDnaute Nouveau
Bonsoir,

OBJECTIF : automatiser par VBA mes calculs de formules et autres retraitements..

Problème je dois filtrer "homme" et "femme" sur mon onglet "type" de ma feuille "Data" et ensuite je calcule ma "sommeprod" correspondant à chacun des produits et au mois correspondant.

J'ai créée une macro qui me permet d'automatiser mes calculs :
- j'ai mes formules en 1ère ligne du tableau
- macro : copie ma formule dans la colonne et colle en valeurs mais la macro me renvoit une erreur.. voici mon code pour le filtre:

Sheets("data").AutoFilter
ActiveSheet.ListObjects("BDD_entrees_2015").Range.AutoFilter Field:=3, _
Criteria1:=Array("homme", "femme"), Operator:=xlFilterValues

Quelqu'un a une idée ?
si besoin le fichier est joint pour mieux comprendre mon pb.. ;)

Je dois présenter le tableau de synthèse tel qu'il est mais j'aimerais automatiser tous mes retraitements grâce à VBA...
Si vous avez d'autres propositions de codes ou d'architectures du document je suis à l'écoute!! Merci :)
 

Pièces jointes

  • Calcul formules macro.xlsm
    30.3 KB · Affichages: 33

Honor

XLDnaute Nouveau
Re : VBA FORMULES calcul en auto

Oui un tcd me donne bien les quantités par mois mais je ne peux pas ajouter mes colonnes fixes dans le tcd (qui sont les 2ères colonnes de mon tableau de synthèse)..

ou sinon je pourrais faire une 1ère étape avec le TCD mais ensuite comment extraire mes donnees du TCD vers le tableau de synthèse en VBA..

Je dois absolument automatiser le tout via vba.. :)
 

CPk

XLDnaute Impliqué
Re : VBA FORMULES calcul en auto

Bonjour,
Vos premières colonnes de la feuille synthèse ont l'air d'être des totaux reportés. Au lieu de les inclure dans des colonnes fixe sur la feuille synthèse pourquoi ne pas les inclure les détails dans la base de donnée afin qu'elles soient consolidées par le tableau dynamique ?
 

CPk

XLDnaute Impliqué
Re : VBA FORMULES calcul en auto

Une piste...Oui. Mais ce n'est qu'une piste.

Sub calcul()
Dim a
a = Feuil1.UsedRange
For c = 1 To 12
For b = 2 To Feuil1.UsedRange.Rows.Count
If Month(a(b, 2)) = c Then
If a(b, 3) = "homme " Or a(b, 3) = "femme " Then
For d = 2 To Feuil2.UsedRange.Rows.Count
If a(b, 4) = Feuil2.Cells(d, 1) Then
Feuil2.Cells(d, c + 4) = a(b, 5)
End If
Next d
End If
End If
Next b
Next c
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 495
Messages
2 088 964
Membres
103 992
dernier inscrit
Christine 974