Un petit souci avec la fonction Autofill sous VBA

Lazarius

XLDnaute Nouveau
Bonjour,

J'ai un problème avec la fonction Autofill sous VBA. En effet,après avoir effectué des effacements et des tris de données via des maccros, j'essaie de rechercher une valeur dans un tableau en fonction d'une référence. Vu que j'ai effectué un tri précédemment seule la recherche associée à la lecture de ma première référence m'interesse.

C'est pourquoi je pensais utiliser cette formule que je saisisai et j'étirais par maccros:
Range("R16").Select
ActiveCell.FormulaR1C1 = _
"=IF(RC[-14]="""","""",VLOOKUP(RC[-14],RC[-14]:R[2984]C[-2],13,FALSE))"
Selection.AutoFill Destination:=Range("R16:R3000"), Type:=xlFillDefault


Mon souci, c'est que le fait d'étirer la formule via la fonction autofill, ça m'empeche de garder la plage (ici en rouge) de tableau constante. Cette plage se décale à chaque fois d'une ligne au fur à mesure que la fonction s'étend. Ma plage de recherche est donc raccourcie...

En éspèrant avoir été clair!

Pouvez-vous m'aider?

Merci!
 

Nairolf

XLDnaute Accro
Re : Un petit souci avec la fonction Autofill sous VBA

Ton code,
Code:
Range("R16").Select
 ActiveCell.FormulaR1C1 = _
 "=IF(RC[-14]="""","""",VLOOKUP(RC[-14],RC[-14]:R[2984]C[-2],13,FALSE))"
 Selection.AutoFill Destination:=Range("R16:R3000"), Type:=xlFillDefault
Ce que je te propose,
Code:
 Range("R16:R3000").FormulaR1C1 = "=IF(RC[-14]="""","""",VLOOKUP(RC[-14],R16C4:R3000C16,13,FALSE))"

Tu n'as pas besoin de sélectionner ta cellule de calcul et ton autofill ne sert à rien, si tu attribues directement ta formule à toutes les cellules que tu souhaites.
Pour la plage, il faut que tu sois en "absolu" et non en "relatif" pour quelle reste fixe (les crochets servant à indiquer une position relative à la cellule dans laquelle est fait le calcul).
 

Statistiques des forums

Discussions
312 305
Messages
2 087 081
Membres
103 457
dernier inscrit
fab2614