VBA problème rapatriment valeur

Rafilo13

XLDnaute Junior
Bonjour a tous,

J'ai dans un fichier deux onglets :

- une base de données (Reporting des ventes)
- une feuille de reporting (Vision AERM)

Dans ma base de données sur ma première ligne j'ai dans la cellule F1 une formule sous.total, le but de ma macro est de pouvoir automatiquement faire bouger mes filtres différents critère et rapatrier cette valeur dans mon onglet de reporting :

Voici en gros ce que j'ai ecris :

Dim VLR As Long
VLR = Sheets("reporting des ventes").Range("F1").Formula

'Famille de produits A semaine
Sheets("Reporting des ventes").Activate
With Sheets("Reporting des ventes")
Range("A2:AI2").Select
Selection.AutoFilter Field:=5, Criteria1:="A"
End With

Sheets("Vision AERM").Activate
ActiveSheet.Range("D8").Value = VLR
Sheets("Vision AERM").Range("D8").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues

Mais cela ne marche pas et en plus ce n'est pas très efficient si quelqu'un a une idéée ...

Je vous remercie par avance

Bonne journée
 

tototiti2008

XLDnaute Barbatruc
Re : VBA problème rapatriment valeur

Bonjour Rafilo,

Tu peux faire des statistiques sur une base de données, soit
- Avec les fonctions de bases de données (BDSOMME, BDMAX, BDMIN....)
- Avec la fonction SOMMEPROD (ou SOMME.SI ou NB.SI si critères simples)
- avec un tableau croisé dynamique

Peut-être que l'une ou l'autre de ces solutions serait plus adaptée à ton besoin, mais comme on ne sait ni à quoi ressemble ta base de données, ni quels sont tes critères, ni à quoi ressemble ton tableau de statistiques, il va être difficile d'être plus précis...
 

Fred0o

XLDnaute Barbatruc
Re : VBA problème rapatriment valeur

Bonsoir Rafilo13 et Tototiti,

Sans fichier ni plus de précisions, difficile de viser juste. Cependant, si j'ai bien compris, le code suivant devrait faire ce que tu demandes :
VB:
Sub essai()
    Dim VLR As Long
    
    'Famille de produits A semaine
    Sheets("Reporting des ventes").Activate
    Sheets("Reporting des ventes").Range("A2:AI2").Select
    Selection.AutoFilter Field:=5, Criteria1:="A"
    VLR = Sheets("reporting des ventes").Range("F1")
    Sheets("Vision AERM").Activate
    ActiveSheet.Range("D8") = VLR
End Sub

A+
 

Discussions similaires

Réponses
3
Affichages
606