VBA RechercheV évaluation des variables

Résolu/Fermé
LittleHonda - 20 avril 2010 à 15:56
 LittleHonda - 20 avril 2010 à 16:58
Bonjour, j'ai un problème avec la fonction RechercheV en VBA sous Excel.

Ce que j'essaye de faire est pourtant simple : je souhaite conserver dans un tableau la valeur d'un indice à certaines dates particulières, à partir d'un tableau complet.
Voici le code que j'utilise :

For i = 10 To 20
Set anneeCell = Worksheets("Feuil1").Cells(i, 2)
Cells(i, 4).Select
ActiveCell.FormulaLocal = "=RECHERCHEV(annee.Value; 'Indices_Salaire'!$A$5:$H$100; 5; FAUX)"
Next i

Lorsque je l'éxécute, j'obtiens #NOM? dans chaque case. En fait "annee.Value" n'est pas évaluée et est donc inconnue lorsque j'éxécute la macro; lorsque je la remplace par une valeur particulière, la fonction marche bien.

J'ai essayé d'utiliser la fonction Evaluate à l'intérieur de RECHERCHEV mais je ne sais pas trop comment m'y prendre.

Après avoir lu quelques sujets sur ce forum (notamment VBA macro et fonction RechercheV), j'ai aussi tenté d'utiliser FormulaR1C1 au lieu de FormulaLocal (en traduisant la formule en anglais). Mais le programme ne tourne pas : c'est l'erreur 1004 d'éxécution qui se produit...

D'avance merci à vous pour vos suggestions.

2 réponses

tompols Messages postés 1273 Date d'inscription jeudi 29 juillet 2004 Statut Contributeur Dernière intervention 25 novembre 2013 435
20 avril 2010 à 16:11
salut,
Essaie ceci :
For i = 10 To 20
annee = Worksheets("Feuil1").Cells(i, 2).Value
ActiveSheet.Cells(i, 4).Formula = "=VLOOKUP(" & Chr(34) & annee & Chr(34) & ",'Indices_Salaire'!$A$5:$H$100,5,0)"
Next i
1
Ca marche. Merci beaucoup ! Je galérais depuis un bon moment là-dessus !
0