Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Variables ds formule

O

Obis

Guest
Bonjour,
je debute en vb et je souheterai savoir comment on remplace une cellule par une variable dans une formule.

Ma ligne ressemble a ca :

Sheets("Consulting").Range("C2").Offset(Mycounter2, 0).Formula = "=VLOOKUP(B2,Cartesis_actuals!$B$37:$P$1019,10,FALSE)"

et je voudrais qu en faite le 1er B2 change en fonction de la cellule de reference (soit B2, B3, ..., Bn).
Je fais du code en php, et je sais que les strings fonctionnent avec des points (ex. "texte1".$var."texte2") mais apparamment ce n est pas pareil en VB.

Merci donc a celui (ou celle) qui pourrait m aider !!
 
@

@+Thierry

Guest
Bonjour Obis,

Je n'ai pas cherché à interpréter ta ligne de code mais il suffit de déclarer une Variable et de l'insérer dans la "string" de ta formule..

Exemple :
LigneCible = Sheets(3).Range("A65536").End(xlUp).Row + 1

FormuleD = "=SUM(D2" & LigneCible - 1 & ")"

Sheets(3).Range("D" & LigneCible).Value = FormuleD
...

Cet exemple est tiré de cette ficelle (pour mieux comprendre le contexte) :
<http://www.excel-downloads.com/html/French/forum/messages/1_9228_9228.htm>

Bon Travail
@+Thierry
 
O

Obis

Guest
Impeccable !! Exactement ce que je voulais savoir ...

Neanmoins, je me frotte a un autre petit probleme ... si je veux stocker le resultat d une formule ds une variable ??

En gros je recupere le nombre d une ligne par le biais d une formule MATCH et je voudrais recuperer ce nombre ds cette ligne :

Formule_actuals = "=SUM(Cartesis_actuals!B" & LigneSource & ":INDEX(Cartesis_actuals!B" & LigneSource & ":O" & LigneSource & ",1,Figures!C5))"

où lignesource represente le numero trouve avec ma fonction "MATCH"

(merci d ailleurs pour ton exemple thierry c est vraiment super !!)

J espere juste que j ai ete assez clair ...
 
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…