Application.WorksheetFunction.Large erreur

  • Initiateur de la discussion Initiateur de la discussion fb62840
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

fb62840

XLDnaute Impliqué
Bonjour à toutes et à tous,

J'ai un problème pour procéder à un filtre multicritères avec le code ci-dessous
L'objectif est de ne retenir à l'affichage que les valeurs qui respectent les 2 critères
Le premier critère est l'identifiant id
Le second critère c'est la valeur maximum trouvée en colonne G

Code:
dl = .Cells(Application.Rows.Count, 1).End(xlUp).row 'définit la dernière ligne éditée dl de la colonne 1 (=A) de l'onglet
    Set pl = .Range("A2:G" & dl) 'définit la plage pl
    .Range("A1").AutoFilter 'lance le filtre automatique sur la colonne A
    .Range("A1").AutoFilter Field:=1, Criteria1:=id 'filtre la colonne 1 avec la valeur id comme critère (identifiant)
    .Range("G1").AutoFilter 'lance le filtre automatique sur la colonne G
    .Range("G1").AutoFilter , Field:=6, Criteria1:=Application.WorksheetFunction.Large(Columns(6), 1)
'la dernière ligne devrait filtrer la colonne G avec la valeur maximum trouvée en colonne G

L'erreur que j'obtiens est : "Impossible de lire la propriété Large de la classe WorksheetFunction"

Je sollicite donc votre aide pour solutionner ce problème qui me cause de sérieux soucis.
 
Dernière édition:
Re : Application.WorksheetFunction.Large erreur

Bonjour

l'une ou l'autre
A priori la fonction de marche pas sur une colonne

answer = Application.WorksheetFunction.Max(Range("G2:G65536"))
answer = Application.WorksheetFunction.Large(Range("G2:G65536"), 1)

Bonjour,

Merci pour votre réponse très rapide

J'ai essayé ces 2 rédaction sans succès, mais j'ignore si c'est ce que vous suggériez
Code:
    .Range("G1").AutoFilter, Field:=6, Criteria1:=Application.WorksheetFunction.Max(Range("G2:G65536"))
    .Range("G1").AutoFilter, Field:=6, Criteria1:=Application.WorksheetFunction.Large(Range("G2:G65536"), 1)
Ai-je fais une erreur ?
 
Re : Application.WorksheetFunction.Large erreur

Oui, Je comprends fort bien mais mon fichier même 'allégé' de la plus grande partie des données reste trop lourd même zipé pour être publié.

Je prépare une version allégé avec simplement le formulaire le plus simple possible. Je le dépose dans quelques minutes. Merci pour votre aide.
 
Re : Application.WorksheetFunction.Large erreur

Bonjour
je crois comprendre
la fonction max ou large renvoie une valeur max de la colonne ( y compris lignes masquées) :range("G1:G65536")
or la valeur que tu veux filtrer n'est pas la valeur max car tu as déjà lancé un autre filtre sur une autre colonne.
mais tout cela n'est que supposition

C'est exactement ça, je souhaite ne retenir à l'affichage que les valeurs qui en colonne 1 ont une valeur égale à l'identifiant
et qui ont également en colonne G une valeur définie comme étant la valeur maximum déjà présente

Exemple :
Si j'ai en colonne A 3 lignes avec l'identifiant ID1 par exemple
Et qu'en colonne 3 la valeur maximale à la colonne G soit 2
Alors je ne veux retenir à l'affichage que 2 lignes
 
Re : Application.WorksheetFunction.Large erreur

Bonjour

résultat un peu tiré par les cheveux avec formule matricielle en I1
Il y a surement beaucoup mieux

Formule à adapter a ton fichier ( attention matricielle)

Bonjour Jean-Marcel,

La solution que vous m'avez apporté me convient parfaitement. Sans doute y-a-t-il moyen de faire "plus pro" notamment en passant par la construction d'un filtre élaboré. Toutefois cette solution est plutôt simple et fonctionnelle alors je m'en tiendrai à celle-ci.

Un grand merci, vous m'avez retiré une bel épine du pied !

Passez une excellente journée.
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
18
Affichages
718
Réponses
22
Affichages
1 K
Retour