OVH Cloud OVH Cloud

Filtre élaboré

2 réponses
Avatar
dan
Bonjour à tous.

J'ai un petit problème que je n'arrive pas à résoudre.
Il concerne le fonctionnement d'un filtre élaboré avec une macro (aucun
problème lorsque je le mets en oeuvre avec la fonction de la feuille de
calcul)

Voici deux extraits du code, l'un marche, l'autre pas

Celui qui marche : (rappatrie la somme du champ 18)

total_valo = Application.WorksheetFunction.DSum(base_de_données, 18, critères)

Celui qui ne marche pas :

Cells(2, 40).FormulaR1C1 = ">" & date5
total_valo5 = Application.WorksheetFunction.DSum(base_de_données, 18,
critères)

Ici je ne souhaite obtenir le total des cours (champ 18) pour les valeurs
dont le cours est supérieur à la date5.

Comment faire pour adapter le code ?

Merci d'avance.
--
dan

2 réponses

Avatar
michdenis
Bonjour Dan,

Pourquoi fais-tu le rapprochement entre ta formule de Bdsomme() et le filtre élaboré ?

La présentation du critère "date" est différente selon que tu l'écris directement dans la feuille de calcul avec la formule utilisé
dans une cellule ou l'utilisation de la même fonction en vba.

Dans ta cellule contenant la date dans ta zone de critère, tu dois avoir ceci :
une vraie date ... en supposant que la cellule A8 contient la date retenue.

=">" & DATE(ANNEE(A8);MOIS(A8);JOUR(A8))

En VBA, pour adresser à ta cellule utilisée comme critère, tu peux
utiliser ceci
Range("A20").Formula = "="">"" & DATE(YEAR(A8),MONTH(A8),DAY(A8))"


Salutations!


"dan" a écrit dans le message de news:
Bonjour à tous.

J'ai un petit problème que je n'arrive pas à résoudre.
Il concerne le fonctionnement d'un filtre élaboré avec une macro (aucun
problème lorsque je le mets en oeuvre avec la fonction de la feuille de
calcul)

Voici deux extraits du code, l'un marche, l'autre pas

Celui qui marche : (rappatrie la somme du champ 18)

total_valo = Application.WorksheetFunction.DSum(base_de_données, 18, critères)

Celui qui ne marche pas :

Cells(2, 40).FormulaR1C1 = ">" & date5
total_valo5 = Application.WorksheetFunction.DSum(base_de_données, 18,
critères)

Ici je ne souhaite obtenir le total des cours (champ 18) pour les valeurs
dont le cours est supérieur à la date5.

Comment faire pour adapter le code ?

Merci d'avance.
--
dan
Avatar
michdenis
Un détail : La présentation que j'ai faite est pour une utilisation en VBA.
total_valo5 = Application.WorksheetFunction.DSum(base_de_données, 18,critères)


Salutations!


"michdenis" a écrit dans le message de news: %
Bonjour Dan,

Pourquoi fais-tu le rapprochement entre ta formule de Bdsomme() et le filtre élaboré ?

La présentation du critère "date" est différente selon que tu l'écris directement dans la feuille de calcul avec la formule utilisé
dans une cellule ou l'utilisation de la même fonction en vba.

Dans ta cellule contenant la date dans ta zone de critère, tu dois avoir ceci :
une vraie date ... en supposant que la cellule A8 contient la date retenue.

=">" & DATE(ANNEE(A8);MOIS(A8);JOUR(A8))

En VBA, pour adresser à ta cellule utilisée comme critère, tu peux
utiliser ceci
Range("A20").Formula = "="">"" & DATE(YEAR(A8),MONTH(A8),DAY(A8))"


Salutations!


"dan" a écrit dans le message de news:
Bonjour à tous.

J'ai un petit problème que je n'arrive pas à résoudre.
Il concerne le fonctionnement d'un filtre élaboré avec une macro (aucun
problème lorsque je le mets en oeuvre avec la fonction de la feuille de
calcul)

Voici deux extraits du code, l'un marche, l'autre pas

Celui qui marche : (rappatrie la somme du champ 18)

total_valo = Application.WorksheetFunction.DSum(base_de_données, 18, critères)

Celui qui ne marche pas :

Cells(2, 40).FormulaR1C1 = ">" & date5
total_valo5 = Application.WorksheetFunction.DSum(base_de_données, 18,
critères)

Ici je ne souhaite obtenir le total des cours (champ 18) pour les valeurs
dont le cours est supérieur à la date5.

Comment faire pour adapter le code ?

Merci d'avance.
--
dan