Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

plusieurs critères avec index/match

3 views
Skip to first unread message

LaurentC

unread,
Apr 30, 2022, 4:50:09 PM4/30/22
to
Bonjour à tous

Dans une feuille, j'ai un tableau structuré nommé TblOpérations avec
plusieurs colonnes dont Date, NomValeur et Soldée. Les dates sont
classées par ordre croissant.

MsgBox WorksheetFunction.Match(CLng(CDate(LaDate)),
Range("TblOpérations[Date]"), 1)

Me renvoie bien le numéro d'ordre de la date trouvée dans le tableau ou
de la date inférieure, ok.

si je fais
MsgBox
Application.WorksheetFunction.Index(Range("TblOpérations[Soldée]"), _
WorksheetFunction.Match(CLng(CDate(LaDate)),
Range("TblOpérations[Date]"), 1))
Ca me renvoie bien le contenu de la colonne Soldée, ok.

Je souhaite ajouter une seconde condition au Match.

MsgBox WorksheetFunction.Index(Range("TblOpérations[Soldée]"), _
WorksheetFunction.Match(CLng(CDate(LaDate)),
Range("TblOpérations[Date]"), 1), _
WorksheetFunction.Match(LaValeur,
Range("TblOpérations[NomValeur]"), 0))

J'ai une erreur d'exécution 1004, impossible de lire la propriété Index
de la classe WorkSheetFunction.

J'ai tenté d'ajouter Application. devant WorksheetFunction sans plus de
succès.

Comment faire plusieurs test avec index / match ?

Merci pour voter aide
@+Laurent

MichD

unread,
Apr 30, 2022, 10:09:02 PM4/30/22
to

Bonjour,

Essaie comme ceci :

Dans la ligne de code, tu as l'expression "LaDate" qui est une plage
nommée qui représente le critère "Une Date" comme critère et
l'expression "Valeur" qui est aussi une plage nommée avec "Le nom
"valeur" retenue
comme critère. Ces 2 plages nommées représentent 2 cellules de la
feuille de calcul.


MsgBox
Evaluate("INDEX(TblOpérations[[#All],[Soldée]],MATCH(LaDate&CHAR(187)&Valeur,TblOpérations[[#All],[Date]]&CHAR(187)&TblOpérations[[#All],[NomValeur]],0),1)")

MichD

LaurentC

unread,
May 1, 2022, 6:29:27 AM5/1/22
to
Bonjour MichD

Merci pour ton aide.

> MsgBox
> Evaluate("INDEX(TblOpérations[[#All],[Soldée]],MATCH(LaDate&CHAR(187)&Valeur,TblOpérations[[#All],[Date]]&CHAR(187)&TblOpérations[[#All],[NomValeur]],0),1)")

J'ai une erreur 13 incompatibiité de type.

Je peux comprendre le fait d'utiliser [#All], je vais gratter de ce
coté, mais j'ai plus de mal avec CHAR(187) ... pourquoi ?

Encore merci
@+Laurent
0 new messages