Rechercher : dans
Par :

VBA ecrire une formule dans une cellule

Dernière réponse le 15 mai 2007 à 17:17:01 cib, le 15 mai 2007 à 13:56:56 
 Signaler ce message aux modérateurs

Hi!

je souhaite écrire une formule dans une cellule via ma macro :

j'essaie:
Worksheets("DIMENSIONS (F)").Range("B21").Formula = "=SI(IMPORT!A3="";"";IMPORT!A3)"

j'essaie :
Worksheets("DIMENSIONS (F)").Range("B21").Formula = "SI(IMPORT!A3="";"";IMPORT!A3)"

mais ça ne marche pas!!
où est l'erreur??? : )?
merci
Cib

Configuration: Windows 2000
Internet Explorer 6.0

Meilleures réponses pour « VBA ecrire une formule dans une cellule » dans :
[Excel] Chemin et nom de stockage de feuille de calcul VoirIndiquer automatiquement le chemin d'accès (path) et le nom de stockage de toute feuille de calcul Noter dans une cellule (A& par exemple) la formule : =cellule("nomfichier";A1) A chaque sauvegarde et/ou déplacement de fichier dans votre...
[VBA] Détection de modification de cellule VoirExemple pour une MFC avec plus de 3 conditions. Private Sub Worksheet_Change(ByVal Target As Range) Dim Cel As Range For Each Cel In Target 'Adapter la/les plages. If Not Intersect(Cel, Range("B1:B30,D1:D30")) Is Nothing...
[VBA] Ecrire/lire une série de TextBox en une seule Sub VoirEn VBA, les TextBox ne disposent pas d'un index et dans la plupart des cas, pour entrer du texte, on procède par.. TextBox1.Text = Cells(2,1).value TextBox2.Text = Cells(2,2).value TextBox3.Text = Cells(2,3).value Et l'inverse pour lire les...
Copier une formule VoirAprès avoir laborieusement composé une formule dans une cellule, il est fréquent de vouloir la recopier d’autres cellules. Vous pouvez procéder de plusieurs façons. COPIER-COLLER La méthode la plus primaire consiste à sélectionner la cellule...
Tableur - La sélection des cellules VoirSélection de cellules Le tableur est un formidable outil pour manipuler des données. Ainsi, pour pouvoir manipuler les données il est nécessaire de disposer d'outils permettant de sélectionner rapidement toutes les cellules dont on a...

1

xjl, le 15 mai 2007 à 14:06:28

Salut,

alors deux choses:
- la première, il me semble que tu devrais mettre FormulaR1C1 dans ta première syntaxe...
- la deuxième, je crois que tu te complique un peu la vie, parce qu'un si qui te renvoie "" si la cellule IMPORT!A3 est égale à "" et qui te revoie IMPORT!A3 sinon, autant mettre Worksheets("DIMENSIONS (F)").Range("B21").FormulaR1C1= "=IMPORT!A3"

;-)

Répondre à xjl

2

lermite222, le 15 mai 2007 à 14:08:31

Bonjour,
c'est quoi DIMENTION(F) c'est quoi le (F) comme tu l'écrit c'est l'indice d'un groupe, mais le feuille ne peuvent être groupée par leurs nom.
Donne plus d'explication parce que comme celà je comprend pas bien et a mon avis l'erreur est là.
Si tu a plusieur feuille avec les noms par ex DIMENTION 1 : DIMENTION 2 etc.. Tu doit mettre le nom de la feuille de la même façon, si tu veux travaillé par incrémentation il faut employer sheets(x)
A+
louis

Répondre à lermite222

3

cib, le 15 mai 2007 à 14:23:32

Merci pour les propositions.
maintenant j'ai:

Worksheets("DIMENSIONS (F)").Range("B21").FormulaR1C1 = "=IMPORT!A3"

qui me retourne dans la cellule B21 :
=IMPORT!'A3' du coup j'ai #NOM?

DIMENSIONS (F) est le nom de la feuille, j'ai essayé avec un nom plus simple ABC mais c'est pareil.

a+
Cib

Répondre à cib

4

 xjl, le 15 mai 2007 à 17:17:01

Effectivement, d'ailleurs tu peux tester en écrivant =IMPORT!A3 dans une cellule, ça fonctionne, le problème vient bien des quote qui se mettent automatiquement autour de A3, mais je ne sais pas comment empêcher ça...

Ah si, j'ai trouvé, il faut remplacer le .FomulaR1C1 par un .Value et ça fonctionne, va savoir pourquoi... ;-)

Répondre à xjl