INDEX/EQUIV (2 onglets)

Bonjour tout le monde,

Petite question car je suis totalement bloqué et je commence à me prendre tellement la tête que je n'arrive pas à prendre de la hauteur sur ma formule car en testant ailleurs elle fonctionne ...

Alors voilà le cas :

J'ai un fichier avec deux onglets, l'un des onglets est intégré grâce à une macro VBA en allant chercher dans un autre fichier (l'onglet Sheet1). Suite à cela, j'aimerais pouvoir réaliser une formule qui me permet de faire venir la colonne 2 de cet onglet dans la colonne C (ça sera le même pour les autres colonnes de l'onglet Sheet1), bien-sûr la complexité c'est que les données doivent prendre en compte le N°commande, sur les deux onglets cette donnée est présente donc au début je pensais à un petit RechercheV sauf que dans mon onglet de destination la donnée n'est pas dans la colonne 1 (et bien évidemment je ne peux pas la bouger).

J'ai donc réfléchis à faire un Index/Equiv mais le plantage complet je suis en PLS face à cette formule qui ne passe pas et je ne comprends pas trop pourquoi ...

Voici ma formule :

=INDEX(Sheet1!$1:$1048576;EQUIV(B2;Sheet1!A:A;0);2)

J'espère être assez clair et que le fichier aidera à comprendre

Sachant que cette formule je vais l'intégrer ensuite dans mon VBA ...

Vous pouvez d'ailleurs aussi accéder à mon code VBA donc si vous voulez le voir (pour l'améliorer ou autre n'hésitez pas à me faire un retour )

Merci d'avance à vous !

Bonne journée,

12test-vba2.xlsm (20.11 Ko)

Je pense avoir trouvé un bout de solution grâce à un autre poste dont je ne comprends pas spécialement le pourquoi du comment, mais en ajoutant dans ma formule le paramètre CTXT d'un coup j'ai quelque chose qui redescend ... Alors franchement j'ai testé car désespéré mais je comprends absolument pas pourquoi ça fonctionne avec ça et pas sans ... Car dans les deux onglets les cellules sont exactement au même format ...

Si quelqu'un peut m'éclairer ... Si il existe un autre moyen sans passer par le CTXT je suis preneur

- exemple de la nouvelle formule : =INDEX(Sheet1!$1:$1048576;EQUIV(CTXT(B3;0;1);Sheet1!A:A;0);2)

Et si vous avez des retours sur mon VBA je reste preneur aussi

Merci à vous !

Bonjour

D'un côté des nombres de l'autre des textes !

=INDEX(Sheet1!$1:$1048576;EQUIV(B2&"";Sheet1!A:A;0);2)

Le format ne change pas le type des données

Bonjour kinders59, 78chris

Voici un essai en VBA:

19test-vba2.xlsm (20.38 Ko)

Bonjour kinders59, 78chris

Voici un essai en VBA:

TEST-VBA2.xlsm

Etant débutant je ne peux qu'être fasciné par les raccourcis que tu fais

Je vais test voir ce que ça donne et surtout chercher à comprendre comment tu as fais ça

Merci à toi !

Bonjour

D'un côté des nombres de l'autre des textes !

=INDEX(Sheet1!$1:$1048576;EQUIV(B2&"";Sheet1!A:A;0);2)

Le format ne change pas le type des données

Merci pour ta réponse effectivement ça fonctionne très bien aussi, peux-tu m'expliquer la différence avec ma formule qui utilise (CTXT) ?

Encore merci à toi

RE

C'est simple car cela force le nombre en texte sans passer par un calcul d'arrondi inutile ici.

RE

C'est simple car cela force le nombre en texte sans passer par un calcul d'arrondi inutile ici.

Top merci à toi

Problème résolu par ta méthode et celle que j'ai trouvée donc perfect

Je vais maintenant chercher à comprendre la formule de notre ami Florian53

Encore merci à vous deux !

Bonne journée

Rechercher des sujets similaires à "index equiv onglets"