VBA index/match à 2 critères

Vero2782

XLDnaute Nouveau
Bonjour,

Je tente de retranscrire en VBA ma formule Index/match a deux critère. Elles ne fonctionnent pas... Pouvez-vous m'aider à trouver la coquille?

Version Excel:
'=INDEX(Table4[NomMag],MATCH(1,(D15349=Table4[NoMag])*(Table4[Bannière]=C15349),0),1)

Version VBA:
ActiveCell.FormulaR1C1 = "=INDEX(Table4[NomMag],MATCH(1,(('Raw Data'!R[0]C[-2]=Table4[NoMag])*(Table4[Bannière]='Raw Data'!R[0]C[-3]),0),1)"
ou
ActiveCell.FormulaArray = "=INDEX(Table4[NomMag],MATCH(1,(('Raw Data'!R[0]C[-2]=Table4[NoMag])*(Table4[Banniere]='Raw Data'!R[0]C[-3]),0),1)"


où est l'erreur?

Merci
 
Dernière édition:

Vero2782

XLDnaute Nouveau
Bonsoir Dranreb,
1-0 pour toi :) Merci pour la parenthèse. Ma macro ne veut pas écrire dans ma cellule active. si j'ajoute des { ...} à ma formule ex.: ActiveCell.FormulaArray = "{=INDEX(... Ma macro va écrire dans ma cellule mais ma formule restera sous format texte... elle ne fera pas de recherche....
 

Dranreb

XLDnaute Barbatruc
Il ne faut pas plus spécifier les {} que dans la barre de formule. En affecter le texte à .FormulaArray revient à la valider en matriciel. Toutefois attention: il peut être nécessaire d'utiliser Application.ConvertFormula car il n'y a je crois qu'une notation acceptée et je ne sais plus laquelle.
 

Dranreb

XLDnaute Barbatruc
Bonjour.
Non, ça sert à convertir une formule de notation A1 native en son équivalent en notation R1C1 ou vice versa.
En notation R1C1 les [0] ne servent à rien. La cellule portant la formule c'est RC tout simplement et non R[0]C[0]
 

Discussions similaires

Réponses
22
Affichages
732
Réponses
2
Affichages
914

Statistiques des forums

Discussions
312 027
Messages
2 084 762
Membres
102 655
dernier inscrit
STA82700