VBA RechercheV évaluation des variables

Résolu
LittleHonda -  
 LittleHonda -
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   Statut Contributeur Dernière intervention   435
 
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
LittleHonda
 
Ca marche. Merci beaucoup ! Je galérais depuis un bon moment là-dessus !
0