Boucle sur copie d'un total suite à un filtre

Bonjour à tous.

Je souhaiterais faire des filtres auto et copier le total obtenu dans des cellules en VBA.

Je vous explique cela plus en detail dans le fichier ci-joint:

6fichier-zones.xlsx (13.14 Ko)

Merci d'avance pour votre aide.

Cordialement

bonjour

un simple TCD

(ou des SOMMEPROD si tu vises des cellules particulières, mais un TCd c'est 1000 fois mieux)

Bonsoir JMD,

Merci pour ta réponse mais justement je ne veux pas de TCD.

Je souhaiterais une routine VBA qui puisse me faire cela comme expliqué dans le fichier.

Sub CopieData()

' DESACTIVATION FILTRES AUTO '

Worksheets("DATA FORECAST").AutoFilterMode = False

' ACTIVATION FILTRE AUTO '

Worksheets("DATA FORECAST").Range("B5:AE11313").AutoFilter Field:=1, Criteria1:="Zone 1"

' COPIE DES TOTAUX '

Worksheets("DATA FORECAST").Range("AG6:AZ8").Value = Worksheets("DATA FORECAST").Range("L11317:AE11320").Value

' SELECTION DES CELLULES '

Range("AI6:AZ8").Select

' FORMAT DES CELLULES '

Selection.NumberFormat = "0.00%"

' STOCKAGE DUREE TOTALE ZONE 1 '

Worksheets("DATA FORECAST").Range("AY7").Value = Worksheets("DATA FORECAST").Range("F11315").Value

' SELECTION DE LA CELLULE '

Worksheets("DATA FORECAST").Range("AY7:AZ7").Select

' FORMAT DE LA CELLULE '

Selection.NumberFormat = "0.00"

' CALCUL DE LA DUREE A LA DATE DU JOUR '

Worksheets("DATA FORECAST").Range("AZ7").Value = Worksheets("DATA FORECAST").Range("AY7").Value * Worksheets("DATA FORECAST").Range("AZ6").Value

' DESACTIVATION FILTRES AUTO '

Worksheets("DATA FORECAST").AutoFilterMode = False

' ACTIVATION FILTRE AUTO '

Worksheets("DATA FORECAST").Range("B5:AE11313").AutoFilter Field:=1, Criteria1:="Zone 2"

' COPIE DES TOTAUX '

Worksheets("DATA FORECAST").Range("AG10:AZ12").Value = Worksheets("DATA FORECAST").Range("L11317:AE11320").Value

' SELECTION DES CELLULES '

Range("AI10:AZ12").Select

' FORMAT DES CELLULES '

Selection.NumberFormat = "0.00%"

' STOCKAGE DUREE TOTAL ZONE 2 '

Worksheets("DATA FORECAST").Range("AY11").Value = Worksheets("DATA FORECAST").Range("F11315").Value

' SELECTION DE LA CELLULE '

Worksheets("DATA FORECAST").Range("AY11:AZ11").Select

' FORMAT DE LA CELLULE '

Selection.NumberFormat = "0.00"

' CALCUL DE LA DUREE A LA DATE DU JOUR '

Worksheets("DATA FORECAST").Range("AZ11").Value = Worksheets("DATA FORECAST").Range("AY11").Value * Worksheets("DATA FORECAST").Range("AZ10").Value

' DESACTIVATION FILTRES AUTO '

Worksheets("DATA FORECAST").AutoFilterMode = False

' ACTIVATION FILTRE AUTO '

Worksheets("DATA FORECAST").Range("B5:AE11313").AutoFilter Field:=1, Criteria1:="Zone 3"

' COPIE DES TOTAUX '

Worksheets("DATA FORECAST").Range("AG14:AZ16").Value = Worksheets("DATA FORECAST").Range("L11317:AE11320").Value

' SELECTION DES CELLULES '

Range("AI14:AZ16").Select

' FORMAT DES CELLULES '

Selection.NumberFormat = "0.00%"

' STOCKAGE DUREE TOTAL ZONE 3 '

Worksheets("DATA FORECAST").Range("AY15").Value = Worksheets("DATA FORECAST").Range("F11315").Value

' SELECTION DE LA CELLULE '

Worksheets("DATA FORECAST").Range("AY15:AZ15").Select

' FORMAT DE LA CELLULE '

Selection.NumberFormat = "0.00"

' CALCUL DE LA DUREE A LA DATE DU JOUR '

Worksheets("DATA FORECAST").Range("AZ15").Value = Worksheets("DATA FORECAST").Range("AY15").Value * Worksheets("DATA FORECAST").Range("AZ14").Value

' DESACTIVATION FILTRES AUTO '

Worksheets("DATA FORECAST").AutoFilterMode = False

' ACTIVATION FILTRE AUTO '

Worksheets("DATA FORECAST").Range("B5:AE11313").AutoFilter Field:=1, Criteria1:="Zone 4"

' COPIE DES TOTAUX '

Worksheets("DATA FORECAST").Range("AG18:AZ20").Value = Worksheets("DATA FORECAST").Range("L11317:AE11320").Value

' SELECTION DES CELLULES '

Range("AI18:AZ20").Select

' FORMAT DES CELLULES '

Selection.NumberFormat = "0.00%"

' STOCKAGE DUREE TOTAL ZONE 4 '

Worksheets("DATA FORECAST").Range("AY19").Value = Worksheets("DATA FORECAST").Range("F11315").Value

' SELECTION DE LA CELLULE '

Worksheets("DATA FORECAST").Range("AY19:AZ19").Select

' FORMAT DE LA CELLULE '

Selection.NumberFormat = "0.00"

' CALCUL DE LA DUREE A LA DATE DU JOUR '

Worksheets("DATA FORECAST").Range("AZ19").Value = Worksheets("DATA FORECAST").Range("AY19").Value * Worksheets("DATA FORECAST").Range("AZ18").Value

' DESACTIVATION FILTRES AUTO '

Worksheets("DATA FORECAST").AutoFilterMode = False

' ACTIVATION FILTRE AUTO '

Worksheets("DATA FORECAST").Range("B5:AE11313").AutoFilter Field:=1, Criteria1:="Zone 5"

' CREATION DES TOTAUX '

Worksheets("DATA FORECAST").Range("AG22:AZ24").Value = Worksheets("DATA FORECAST").Range("L11317:AE11320").Value

' SELECTION DES CELLULES '

Range("AI22:AZ24").Select

' FORMAT DES CELLULES '

Selection.NumberFormat = "0.00%"

' STOCKAGE DUREE TOTAL ZONE 5 '

Worksheets("DATA FORECAST").Range("AY23").Value = Worksheets("DATA FORECAST").Range("F11315").Value

' SELECTION DE LA CELLULE '

Worksheets("DATA FORECAST").Range("AY23:AZ23").Select

' FORMAT DE LA CELLULE '

Selection.NumberFormat = "0.00"

' CALCUL DE LA DUREE A LA DATE DU JOUR '

Worksheets("DATA FORECAST").Range("AZ23").Value = Worksheets("DATA FORECAST").Range("AY23").Value * Worksheets("DATA FORECAST").Range("AZ22").Value

' DESACTIVATION FILTRES AUTO '

Worksheets("DATA FORECAST").AutoFilterMode = False

' ACTIVATION FILTRE AUTO '

Worksheets("DATA FORECAST").Range("B5:AE11313").AutoFilter Field:=1, Criteria1:="Zone 6"

' CREATION DES TOTAUX '

Worksheets("DATA FORECAST").Range("AG26:AZ28").Value = Worksheets("DATA FORECAST").Range("L11317:AE11320").Value

' SELECTION DES CELLULES '

Range("AI26:AZ28").Select

' FORMAT DES CELLULES '

Selection.NumberFormat = "0.00%"

' STOCKAGE DUREE TOTAL ZONE 6 '

Worksheets("DATA FORECAST").Range("AY27").Value = Worksheets("DATA FORECAST").Range("F11315").Value

' SELECTION DE LA CELLULE '

Worksheets("DATA FORECAST").Range("AY27:AZ27").Select

' FORMAT DE LA CELLULE '

Selection.NumberFormat = "0.00"

' CALCUL DE LA DUREE A LA DATE DU JOUR '

Worksheets("DATA FORECAST").Range("AZ27").Value = Worksheets("DATA FORECAST").Range("AY27").Value * Worksheets("DATA FORECAST").Range("AZ26").Value

' DESACTIVATION FILTRES AUTO '

Worksheets("DATA FORECAST").AutoFilterMode = False

End Sub

Voila un peu le genre de code souhaité mais en faisant une boucle sur toutes les valeurs de la colonne filtrée au lieu de dire Zone 1, zone 2 etc...

re

on reprend à partir de ton but. Quel est ton but ? en gros : à quoi va te servir le tableau des résultats ?

pourquoi un TCD ne convient pas ?

et une extraction des Zones par formule, avec SOMMEPROD pour capturer les valeurs ?

Mon but est de recupereretour une multitude valeurs et de faire des calculs pour les affichés dans des tableaux de bord.

C'est pour cela que je cherche une macro va qui fasse ce que j'ai décris pour différentes colonnes

re

justement, Excel est fait pour ça.

VBA est un programme autre, le plus souvent inutile.

as-tu essayé les SOMMEPROD ?

note que je suis resp organisation de plusieurs équipes (près de 30) et que je crée leur TDB. Sans VBA, mais avec beaucoup de formule

Jmd je suis d'accord avec toi.

Par contre mon responsable veut automatiser une multitude de données et faire apparaître des jauges des feux des graphiques etc.

Et pour cela je suis obligés davoir un onglet avec pleins de calculs divers.

Merci en tout cas de partager ton opinion.

Je verrais si un pro de va apparaît

Bonne soirée et encore merci

Personne ne sait comment faire?????

J'aurais vraiment besoin de cette macro.

Une macro pouvant lire touts les valeurs d'un filtre automatique dans une colonne et qui puisse me lister ces valeurs.

Je crie à l'aide. ....

Rechercher des sujets similaires à "boucle copie total suite filtre"