Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Index Equiv en VBA

Fchris

XLDnaute Occasionnel
Bonjour à tous,

J'aimerais savoir s'il existe l'équivalent des fonctions Index et Equiv en VBA, et si oui, quel en est la syntaxe ?

Merci par avance

Christophe
 

tototiti2008

XLDnaute Barbatruc
Re : Index Equiv en VBA

Bonjour Fchris,

Oui, on peut utiliser :

Application.WorksheetFunction.Match(Valeur, Plage, 0)

pour Equiv
et

Application.WorksheetFunction.Index(Plage, Ligne, Colonne)

pour Index

sinon, tu peux également passer par Evaluate pour évaluer le résultat d'une formule.
 

Fchris

XLDnaute Occasionnel
Re : Index Equiv en VBA

Bon, finalement je n'y arrive pas

Mais je ne dois pas m'y prendre comme il faut.

En fait, je cherche à récupérer des données provenant d'une table, dont le nombre de colonne peut varier de 3 à 4 colonnes.

Mais les infos de la table sont récupérées via une formule "Decaler" (dont tu es l'auteur par ailleurs... ), et je n'arrive pas à récupérer les infos dont j'ai besoin (j'ai essayé avec une méthode Find, mais ça ne marche pas non plus)

Ci-joint fichier exemple qui sera beaucoup plus clair que toutes mes explications. N'hésite pas à me poser toutes les questions nécessaires, car ce qui est clair pour moi ne le sera pas forcément pour toi.

Merci de ton aide...

Cijoint.fr - Service gratuit de dépôt de fichiers

Christophe
 
Dernière édition:

Fchris

XLDnaute Occasionnel
Re : Index Equiv en VBA

je crois avoir à peu près compris sauf une chose : qu'est-ce qui détermine la colonne de ta table où tu vas rechercher ? l'age ? et si oui, quels sont les critères ?

C'est tout à fait ça. C'est l'âge qui détermine la colonne dans laquelle on va chercher les infos.

2 types de tables :

- 1 avec 3 colonnes. Une pour l'ancienneté, une pour les personnes de moins de 50 ans et une pour les 50 ans et plus.

- 1 avec 4 colonnes. Une pour l'ancienneté, une pour les moins de 50 ans, une pour les moins de 56 ans, et une pour 56 ans et plus (table 1 par exemple). Il s'agit de tranche bien entendu (de 0 à 50, de 51 à 55, et plus de 55 ans)
 

tototiti2008

XLDnaute Barbatruc
Re : Index Equiv en VBA

alors :

c'est dans la partie numéro de colonne de Recherchev. En fait, on ne recherche pas toujours dans la même colonne.

2+SI($E$5>=50;1;0)+SI(ET($U$4<>0;E5>55);1;0)

On recherche dans la colonne 2
Si E5>50, on ajoute 1 au numéro de colonne
si U4<>0 et E5>55, on ajoute 1 au numéro de colonne

d'ailleurs ça pouvait aussi s'écrire

2+(E5>50)*1+(U4<>0)*(E5>55)*1

mais c'est encore moins clair, je crois...
 

Fchris

XLDnaute Occasionnel
Re : Index Equiv en VBA


C'est tout bon, j'ai tout compris enfin je crois...

Merci beaucoup
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…