Excel: MAJ d'une formule + filtre auto
audrey
-
nogaret -
nogaret -
Bonjour,
je travaille avec excel sur une extraction de données d'un atelier de fabrication
ces données contiennent des caractéristiques de machine classées dans des colonnes avec étiquettes (ex: nom, qté fabriquée...)
j'ai fait des formules (majoritairement SommeSi) pour l'ensemble de l'atelier que j'aimerais appliquer à chacune des machines ,automatiquement en filtrant les infos
mais lorsque je filtre mes données(sélection d'une seule machine), les formules disparraissent, ayant déclarer des plages de cellules dans mes formules qui diffèrent d'une machines à l'autre (la colonne restant identique)
comment résoudre ce problème
est-il possible de déclarer une étiquette dans une formule, de façon à ne prendre en compte que les données présente dans le tableau en fonction du filtre
merci de votre aide
je travaille avec excel sur une extraction de données d'un atelier de fabrication
ces données contiennent des caractéristiques de machine classées dans des colonnes avec étiquettes (ex: nom, qté fabriquée...)
j'ai fait des formules (majoritairement SommeSi) pour l'ensemble de l'atelier que j'aimerais appliquer à chacune des machines ,automatiquement en filtrant les infos
mais lorsque je filtre mes données(sélection d'une seule machine), les formules disparraissent, ayant déclarer des plages de cellules dans mes formules qui diffèrent d'une machines à l'autre (la colonne restant identique)
comment résoudre ce problème
est-il possible de déclarer une étiquette dans une formule, de façon à ne prendre en compte que les données présente dans le tableau en fonction du filtre
merci de votre aide
A voir également:
- Excel: MAJ d'une formule + filtre auto
- Liste déroulante excel - Guide
- Word et excel gratuit - Guide
- Si ou excel - Guide
- Déplacer colonne excel - Guide
- Excel trier par ordre croissant chiffre - Guide
4 réponses
De dieu, j'adore le vba mais il ne faut pas en abuser
Il existe une fonction peu connue qui fait tout et reconnait les filtres, la fonction :
SOUS.TOTAL(no_fonction;réf1; réf2, ...) à partir de Excel 97
no_fonction représente le nombre compris entre 1 et 11 (comprend les valeurs masquées) ou 101 et 111 (ignore les valeurs masquées) indiquant quelle fonction utiliser pour calculer les sous-totaux d'une liste.
no_fonction (comprend les valeurs masquées)
1 MOYENNE
2 NB
3 NBVAL
4 MAX
5 MIN
6 PRODUIT
7 ECARTYPE
8 ECARTYPEP
9 SOMME
10VAR
11VAR.P
no_fonction(ignore les valeurs masquées)
101 MOYENNE
102 NB
103 NBVAL
104 MAX
105 MIN
106 PRODUIT
107 ECARTYPE
108 ECARTYPEP
109 SOMME
110 VAR
111 VAR.P
réf1, réf2, représentent les 1 à 29 plages ou références pour lesquelles vous souhaitez un sous-total.
Donc dans ton cas Tu dois réserver les premières lignes pour faire tes formules, et mettre des données après pour pouvoir les triées.
Cependant j'ai supposé que tes conditions de somme.si étaient tes conditions de filtre, à l'inverse vba.
Et voila, j'adore excel.
Il existe une fonction peu connue qui fait tout et reconnait les filtres, la fonction :
SOUS.TOTAL(no_fonction;réf1; réf2, ...) à partir de Excel 97
no_fonction représente le nombre compris entre 1 et 11 (comprend les valeurs masquées) ou 101 et 111 (ignore les valeurs masquées) indiquant quelle fonction utiliser pour calculer les sous-totaux d'une liste.
no_fonction (comprend les valeurs masquées)
1 MOYENNE
2 NB
3 NBVAL
4 MAX
5 MIN
6 PRODUIT
7 ECARTYPE
8 ECARTYPEP
9 SOMME
10VAR
11VAR.P
no_fonction(ignore les valeurs masquées)
101 MOYENNE
102 NB
103 NBVAL
104 MAX
105 MIN
106 PRODUIT
107 ECARTYPE
108 ECARTYPEP
109 SOMME
110 VAR
111 VAR.P
réf1, réf2, représentent les 1 à 29 plages ou références pour lesquelles vous souhaitez un sous-total.
Donc dans ton cas Tu dois réserver les premières lignes pour faire tes formules, et mettre des données après pour pouvoir les triées.
Cependant j'ai supposé que tes conditions de somme.si étaient tes conditions de filtre, à l'inverse vba.
Et voila, j'adore excel.
Oui c'est possible mais en passsant par une macro VBA.
ci dessous tu a un bout de code qui sur un clic de bouton te fait la somme d'une selection filtré .
ci dessous tu a un bout de code qui sur un clic de bouton te fait la somme d'une selection filtré .
Sub Button1_Click()
Dim line As Integer
Dim resultat As Single
GetDataAutofiltre
resultat = 0
line = 1
Do
resultat = resultat + Cells(line, 2)
line = line + 1
Loop While Cells(line, 2) <> ""
Sheet2.Cells(1, 1) = resultat
End Sub
Sub GetDataAutofiltre()
Dim Destination As Range
'Définis ta plage où sera copiée les données.
'si même feuille oublis "Sheets" seulement Range(??)
Set Destination = Sheets(6).Range("A1")
Dim MaPlage As Range
'représente les données filtrées et les titres.
Set MaPlage = Sheets("Chrono").AutoFilter.Range
'représente seulement les données
Set MaPlage = MaPlage.Offset(1, 0).Resize(MaPlage.Rows.Count - 1, MaPlage.Rows.Count)
MaPlage.Copy Destination
End Sub