Diviser une céllule par une variable fixe avec condition et filtre

LELEC

XLDnaute Nouveau
Bonjour à tous,
J'essai de diviser une cellule par une valeur, le choix de cette valeur est déterminé par une condition. De plus, il s'agit d'appliquer cette formule sur des critères établis par filtre au départ.
Par ex, si colonne=verre, alors 0.60/D2 ou si colonne=papier, alors 0.45/D2, sinon 0.
En pièce jointes, mon problème

Merci à tous pour votre aide précieuse
A+
 

Pièces jointes

  • ESSAI 12.xls
    31 KB · Affichages: 63

JHA

XLDnaute Barbatruc
Re : Diviser une céllule par une variable fixe avec condition et filtre

Bonjour Lelec, le forum,

J'ai essayé de trouver une solution par formule mais cela me semble difficile.
Je me suis alors retourné sur le forum et j'ai trouvé une fonction personnalisée réalisée par LUKI le 31 mars 2005.
J'ai modifié ton fichier pour y inclure cette fonction et les calculs.
Je pense qu'il te sera facile de mettre cela à ton goût.

Merçi encore à LUKI, pour les explications de cette fonction, il faudra voir l'auteur car je ne suis pas très bon en VBA.

Bon courage,
JHA
 

Pièces jointes

  • Critere filtre auto.zip
    13.8 KB · Affichages: 22

Jocelyn

XLDnaute Barbatruc
Re : Diviser une céllule par une variable fixe avec condition et filtre

Bonjour le Forum,
Bonjour LELEC, JHA,

Un petit essai par formule,

a tester en D35

=SI(INDEX(F2:F22;EQUIV(SOUS.TOTAL(4;D2:D22);D2:D22;0))="VERRE";0,9*D33;0,6*D33)

Jocelyn

hum hum attention le forum met des smiley a remplacer par : et D

Edit : trés beau travail de luki, d'autant plus que je suis imcapable de le faire le VBA me déteste :)
 

Luki

XLDnaute Accro
Re : Diviser une céllule par une variable fixe avec condition et filtre

Bonjour le fil

En passant je tombe sur ce fil.

Cette fonction avait été créée à l'époque pour afficher le filtre appliqué dans le cas d'un filtre personnalisé.

Maintenant, savoir si c'est utile dans ce cas.... J'avoue que je n'ai pas tout compris au problème de Lelec :(, mais je reste à votre disposition pour améliorer la fonction au besoin.

Bonne journée
 

Luki

XLDnaute Accro
Re : Diviser une céllule par une variable fixe avec condition et filtre

Re

et toi Brigitte à tes archives ! bises en passant :)

Un essai en utilisant la formule citée précédemment et avec des "si".

=SI(quelfiltre(F1)="=VERRE";0,9-D33;SI(quelfiltre(F1)="=PAPIER";0,6-D33;0))

etc....
 

Pièces jointes

  • ESSAI 12 v2.zip
    12.5 KB · Affichages: 24

LELEC

XLDnaute Nouveau
Re : Diviser une céllule par une variable fixe avec condition et filtre

Merci à tous pour les infos, mais je n'arrive pas à faire fonctionner la formule de Luki, NOM? s'affiche. Ci joint le fichier

Merci pour votre aide
 

Pièces jointes

  • ESSAI13.xls
    43.5 KB · Affichages: 95

Luki

XLDnaute Accro
Re : Diviser une céllule par une variable fixe avec condition et filtre

Re

Normal lelec,

Tu dois copier la fonction dans un module pour que Excel puisse la trouver:

alt+F11 pour ouvrir l'éditeur vba
clic droit dans ton projet VBA > insertion > module

Tu copie le code dans le module :

Code:
Function QuelFiltre(Cellule As Range)

Application.Volatile

Dim I As Integer
Dim Wks As Worksheet
Dim Rg As Range
Dim Op As String

Set Wks = Cellule.Worksheet
    With Wks
        Set Rg = .AutoFilter.Range
        I = Cellule.Column - Rg.Column + 1
        If .AutoFilterMode Then
            With .AutoFilter.Filters(I)
                On Error Resume Next
                Select Case .Operator
                Case 1
                Op = "et"
                Case 2
                Op = "ou"
                End Select
                If .On Then QuelFiltre = .Criteria1 & vbLf & Op & vbLf & .Criteria2
                If Err.Number <> 0 Then QuelFiltre = .Criteria1
            End With
        End If
    End With
End Function
regarde l'exemple dans mon précédent post.

A+
 

Discussions similaires

Statistiques des forums

Discussions
312 975
Messages
2 094 082
Membres
105 937
dernier inscrit
thibodu388