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

Index Equiv en VBA

  • Initiateur de la discussion Initiateur de la discussion Fchris
  • 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 !

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
 
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.
 
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:
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)
 
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...
 
Re : Index Equiv en VBA


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

Merci beaucoup
 
- 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
5
Affichages
159
Réponses
4
Affichages
396
Réponses
8
Affichages
209
Réponses
3
Affichages
183
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…