Synthaxe VBA pour la modification de formule dans une boucle

Zankhio

XLDnaute Nouveau
Bonjour à tous j'espère que vous allez bien, je viens vers vous car j'ai besoin d'un petit coup de main, je m'explique:

J'aimerais alimenter mes cellules dans une boucle avec une formule qui est la suivante:

for j=1 to n
Cells(5 + (j * 25), 3).Select
ActiveCell.FormulaR1C1 = _
"=HLOOKUP(R[-2]C,'[Availability_&_LCC_Calculator.xls]UNitTEst'!R7:R10,4,FALSE)"
next j

bon cette étape marche mais maintenant j'aimerais que la feuille appelée ici "UNitTEst" dépende de la valeur de "j"

J'utilise donc la syntaxe suivante:

for j=1 to n
Cells(5 + (j * 25), 3).Select
ActiveCell.FormulaR1C1 = _
"=HLOOKUP(R[-2]C,'[Availability_&_LCC_Calculator.xls]Feuil" & j & "'!R7:R10,4,FALSE)"
next j

et la c'est la panique car quand je lance la macro tout disparait dans la cellule sauf le nom de la "feuil j"

Auriez vous quelques indices sur la synthase VBA quand on veut unsérer une formule excel dans une boucle?

Merci infiniement.

Zankhio
 

francedemo

XLDnaute Occasionnel
Re : Synthaxe VBA pour la modification de formule dans une boucle

bonjour,
à tester:
for j=1 to n
Cells(5 + (j * 25), 3).FormulaR1C1 = "=HLOOKUP(R[-2]C,'[Availability_&_LCC_Calculator.xls]Feuil(" & j & ")'!R7:R10,4,FALSE)"
next j
(pas testé chez moi)
à+
 

Zankhio

XLDnaute Nouveau
Re : Synthaxe VBA pour la modification de formule dans une boucle

Bonjour Francedemo,

Merci pour ta réponse mais cela ne semble pas fonctionnner chez moi. J'ai modifié un peu les mes noms d'onglets pour essayer de simplifier ma tache. Mes noms d'onglet sont dans une table et je les appels de la manière suivante:

Cells(5 + (j * 25), 3).FormulaR1C1 = "=HLOOKUP(R[-2]C,'[Availability_&_LCC_Calculator.xls]" & LCCnametable(j) & "'!R7:R10,4,FALSE)"

Cette fois il me dit clairement que la syntaxe n'est pas bonne et me lance le debug mode; je tourne un peu en rond.

Si quelqu'un à une autre idée.

Merci à tous
 

Zankhio

XLDnaute Nouveau
Re : Synthaxe VBA pour la modification de formule dans une boucle

J'y suis aller comme une brute et ça semble fonctionner:

FORMULE = "=HLOOKUP(R[-2]C,'[Availability_&_LCC_Calculator.xls]" & LCCnametable(k) & "'!R7:R10,4,FALSE)"
MsgBox (FORMULE)
Cells(5 + (j * 25), 3).Select
ActiveCell.FormulaR1C1 = FORMULE

C'est pas très classe mais bon...
 

pierrejean

XLDnaute Barbatruc
Re : Synthaxe VBA pour la modification de formule dans une boucle

Bonjour à tous

Une idée toute simple:
Faire un fichier exemple (sans données confidentielles et avec le strict necessaire pour exposer le problème ) et le poster
Et la , je garantis qu'il y aura une solution
 

Discussions similaires

Statistiques des forums

Discussions
312 177
Messages
2 085 976
Membres
103 076
dernier inscrit
LoneWolf90