pbl de formule avec INDEX & EQUIV & GAUCHE [résolu] - VB/VBA/VBS - Programmation
Marsh Posté le 14-11-2012 à 11:37:19
Je te propose quelque chose pour trouver ton problème :
évalue les expressions suivantes composant ta grosse fonction :
=EQUIV(GAUCHE(J2;2);'[monfichiersource.xls]feuilA'!$A$6:$A$123;0)
=EQUIV(M2;'[monfichiersource.xls]feuilA'!$A$6:$X$6;0)
Si cela te renvoit bien des nombres, repose ton problème avec uniquement la fonction index qui pose problème.
Et plutôt que d'utiliser Index (qui est bizarre comme formule), utilise plutôt indirect qui doit être bien plus simple à déplanter.
Marsh Posté le 14-11-2012 à 11:44:42
=EQUIV(GAUCHE(J2;2);'[monfichiersource.xls]feuilA'!$A$6:$A$123;0)
retoune "N/A
=EQUIV(M2;'[monfichiersource.xls]feuilA'!$A$6:$X$6;0)
retourne une valeur
par contre, si je créé une nouvelle colonne dans monfichierdetraitement.xls
avec les dpt sur 2 chiffres en I:
=EQUIV(I2;'[monfichiersource.xls]feuilA'!$A$6:$A$123;0)
ca me retourne bien une valeur
Marsh Posté le 14-11-2012 à 11:45:37
A tout hasard, vérifie que tes cellules de départements sont toutes au format texte. Si l'un est du texte, et l'autre un nombre, il ne va pas pouvoir matcher avec les equiv
Marsh Posté le 14-11-2012 à 11:47:09
je viens de vérif, toutes les cells sont en format standard
Marsh Posté le 14-11-2012 à 11:50:34
Au format standard, la solution par défaut pour saisir 01234, c'est de le considérer comme le nombre 1234. Ce n'est pas le cas dans ta cellule J2 dans ta capture d'écran.
Tu as peut-être écrit '01234, ce qui revient au même que de dire que c'est au format texte.
Edit : ha, oui, petit oubli de ma part : gauche va forcément renvoyer une chaine de caractère, donc il faut forcer de l'autre coté un format en chaine de caractères sur $A$6:$A$123
Marsh Posté le 14-11-2012 à 12:14:39
excuse, pour faire simple j'ai refait un tableau basique pour expliquer et j'ai omis le formatage.... oups!
sachant que si je met un dpt commencant par 0x en format nombre, il sera formaté sans le 0 au début donc ca ne va pas.
Est ce que je peux tout passer en texte ?
Marsh Posté le 14-11-2012 à 13:21:08
yes you can.
Sauf les formules.
Tu dois aussi avoir 2 fonctions pour convertir un nombre en texte et une suite de chiffres en nombres.
Marsh Posté le 14-11-2012 à 13:46:33
j'ai finalement trouvé la solution: gauche renvoi du texte, il suffit donc de faire EQUIV(GAUCHE(J2;2)*1 pour qu'il soit numérique !
et ca fonctionne
Marsh Posté le 14-11-2012 à 11:15:34
Bonjour,
dans monfichiersource.xls, j'ai des départements à 2 chiffres en colonneA:
01,02,08,51,75, etc...
dans monfichierdetraitement.xls, j'ai une feuilA dans laquelle les départements sont stockés à 5 chiffres en colonne J
01500, 02200, 08300, 51100, 75005, etc...
un poids est stocké en colonne M
je cherche à trouver une valeur en colonne N en fonction du département et poids
Voici ma formule qui me retourne #N/A
je ne vois pas ou est le pbl, avez vous une idée ?
monfichiersource.xls
monfichierdetraitement.xls
Message édité par CARL KEATON le 14-11-2012 à 14:05:54