|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Membre du Club
![]() Inscription : janvier 2010 Messages : 176 ![]() |
Bonjour à toutes et à tous,
Après lecture de la documentation sur internet, j'utilise dans une de mes cellules la fonction recherchev via la formule : Code :
=SI(OU(C4="";D4="");"";RECHERCHEV(D4 & " - "& C4;Uinduites!$C$2:$C$109;4;FAUX)) Le tableau où je cherche la valeur D4 - C4 se situe sur l'onglet Uinduites (tableau 109 lignes - 6 colonnes(A à F)). La valeur cherchée existe bien, d'où mon incompréhension face à l'erreur affichée par Excel. Ayant par ailleurs utilisé la fonction dans des cas très similaires, j'ai du mal à comprendre d'où pourrait provenir l'erreur.. Une p'tite idée ? Merci d'avance ![]() Edit : on laisse tomber, faute de frappe, il fallait écrire $F$109 et non $C$109... Désolé pour ce post inutile, si un modérateur passe par là pour l'effacer... Merci |
|
|
00
|
|
|
#2 |
|
Membre actif
![]() Ressources humaines Inscription : janvier 2011 Messages : 172 ![]() |
Bonjour,
l'erreur est sur la table_matrice car ta plage est sur une seule colonne 'C' et puis le No_index_col= 4, alors: Code :
=SI(OU(C4="";D4="");"";RECHERCHEV(D4 & " - "& C4;Uinduites!$C$2:$F$109;4;FAUX)) Gestionnaire rh |
|
|
10
|
|
|
#3 |
|
Membre du Club
![]() Inscription : janvier 2010 Messages : 176 ![]() |
Bonsoir et merci de ta réponse, j'avais résolu (pour une fois
Je souhaite par défaut donner à E4 la formule décrite dans mon premier post. J'écris le code suivant pour cela : Code :
Range("E4").FormulaLocal = "=IF(OR(C4="";D4="");0;IF(ISNA(VLOOKUP(D4&" - "&C4;Uinduites!$C$2:$F$109;4;FALSE));0;VLOOKUP(D4&" - "&C4;Uinduites!$C$2:$F$109;4;FALSE)))" PS : Si un modérateur pouvait déplacer la conversation vers le sous-forum Macros, il me semble que ce serait plus adapté désormais. Merci
|
|
|
00
|
|
|
#4 |
|
Membre actif
![]() Ressources humaines Inscription : janvier 2011 Messages : 172 ![]() |
Bonjour,
pour ta formule sous vba, n'oublié pas de doubler les guillemets: Code :
Range("E4").FormulaLocal = "=SI(OU(C4="""";D4="""");0;SI(ESTNA(RECHERCHEV(D4&"" - ""&C4;Uinduites!$C$2:$F$109;4;FAUX));0;RECHERCHEV(D4&"" - ""&C4;Uinduites!$C$2:$F$109;4;FAUX)))"
Gestionnaire rh |
|
|
10
|
|
|
#5 |
|
Membre du Club
![]() Inscription : janvier 2010 Messages : 176 ![]() |
Bien vu, j'étais complètement passé au travers de ce point là..
J'ai appliqué tes conseils, et également amélioré la syntaxe de la formule : Code :
Range("E4").FormulaR1C1 = "=IF(OR(RC[-2]="""";RC[-1]="""");0;IF(ISNA(VLOOKUP(RC[-1] &"" - ""& RC[-2];Uinduites!$C$2:$F$109;4;'FALSE'));0;VLOOKUP(RC[-1] &"" - ""& RC[-2];Uinduites!$C$2:$F$109;4;'FALSE')))" Merci encore.. |
|
|
00
|
|
|
#6 |
|
Membre du Club
![]() Inscription : janvier 2010 Messages : 176 ![]() |
Très étrange :
Code :
Range("E4").FormulaR1C1 = "=IF(OR(RC[-2]="""",RC[-1]=""""),0,IF(ISNA(VLOOKUP(RC[-1]&"" - ""&RC[-2],Uinduites!R2C3:R109C6,4,FALSE)),0,VLOOKUP(RC[-1]&"" - ""&RC[-2],Uinduites!R2C3:R109C6,4,FALSE)))" |
|
|
00
|
|
|
#7 |
|
Membre actif
![]() Ressources humaines Inscription : janvier 2011 Messages : 172 ![]() |
Bonjour,
en utilisant la formulaR1C1, tu doit modifié ta plage de recherche et enlever les apostrophes sur false: Code :
Range("E4").FormulaR1C1 = "=IF(OR(RC[-2]="""",RC[-1]=""""),0,IF(ISNA(VLOOKUP(RC[-1] &"" - ""& RC[-2],Uinduites!R[-2]C[-2]:R[105]C[1],4,FALSE)),0,VLOOKUP(RC[-1] &"" - ""& RC[-2],Uinduites!R[-2]C[-2]:R[105]C[1],4,FALSE)))"
Gestionnaire rh |
|
|
00
|
|
|
#8 |
|
Membre du Club
![]() Inscription : janvier 2010 Messages : 176 ![]() |
Merci de ta réponse. J'ai bien enlevé les apostrophes autour du false, mais je ne comprends ce que tu entends par "modifier ma plage de recherche" : qu'est-ce qui ne va pas avec mon écriture ?
Merci ! |
|
|
00
|
|
|
#9 |
|
Membre actif
![]() Ressources humaines Inscription : janvier 2011 Messages : 172 ![]() |
Bonjour,
désolais pour la mauvaise interprétation, c'est juste remplacer ton $C$2:$F$109, par R[-2]C[-2]:R[105]C[1] Cordialement gestionnaire rh |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com