insérer une fonction dans une cellule

Résolu
canichon Messages postés 50 Date d'inscription vendredi 7 juillet 2006 Statut Membre Dernière intervention 2 septembre 2009 - 20 sept. 2007 à 14:32
canichon Messages postés 50 Date d'inscription vendredi 7 juillet 2006 Statut Membre Dernière intervention 2 septembre 2009 - 20 sept. 2007 à 16:05
Bonjour à tous,

Voilà, je voudrais insérer une formule dans une cellule a partir de vba et ça marche pas.

la formule que je veux entrer est : "=SI(I9<>0;I9;J9)"

si, sous vba, je fais : activecell.value = "=si(I9<>0;I9;J9)"

j'ai une erreur d'execution 1004 ?????

merci pour votre aide.

<!-- / message -->

13 réponses

canichon Messages postés 50 Date d'inscription vendredi 7 juillet 2006 Statut Membre Dernière intervention 2 septembre 2009
20 sept. 2007 à 16:05
j'ai reposter un autre sujet sur ce probleme... en tout cas, merci pour ton aide.
3
tubafat Messages postés 79 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 25 septembre 2007
20 sept. 2007 à 14:59
Salut,

pour insérer une formule:
activecell.formula = "=SI(I9<>0,I9,J9)"

Attention à ne pas mettre de points virgule...

Tubafat  
Avant d'imprimer, pensez à l'environnement
0
canichon Messages postés 50 Date d'inscription vendredi 7 juillet 2006 Statut Membre Dernière intervention 2 septembre 2009
20 sept. 2007 à 15:10
OK pour des ; dans excel et des , dans vba...

en fait ma formule est un peu plus compliquée et donne :

For i = 1 To 17
        formul = "=SI(I" & ActiveCell.Row _
                                  & "<>0,I" _
                                  & ActiveCell.Row _
                                  & ",Planning!R"
                                  & nbligneplan + 8 
                                  & "C" & colplan
                                  & ")"
        ActiveCell.Formula = formul
        ActiveCell.Offset(1, 0).Select
Next i

l'espion de vba me donne : 
         "SI(I9<>0,I9,Planning!R728C13)"

la formule est bien collée dans EXCEL mais le rendu est : 
         =SI('I9'<>0;'I9';Planning!$M$728)

POURQUOI ME MET-IL DES COTES AUTOUR DE 'I9' CE  ???


 
0
tubafat Messages postés 79 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 25 septembre 2007
20 sept. 2007 à 15:14
Ah ok tu travailles avec des appeletions de cellule en R1C1 et non en A1
Donc il faut que tu utilises:
Activecell.FormulaR1C1 = formul

et normalement ça devrait marcher (enfin j'espère!!!)

Tubafat  
Avant d'imprimer, pensez à l'environnement
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
canichon Messages postés 50 Date d'inscription vendredi 7 juillet 2006 Statut Membre Dernière intervention 2 septembre 2009
20 sept. 2007 à 15:19
tout Pareil...

la formule est correct sous vba "=SI(I9<>0,I9,Planning!R728C13)"
Excel me transforme mes virgules en point-virgule mais me met des cotes ( ' ) autour de 'I9' : =SI('I9'<>0;'I9';Planning!$M$728) ce qui fausse la formule

HELP.....
0
tubafat Messages postés 79 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 25 septembre 2007
20 sept. 2007 à 15:27
Dans la même formule tu utilise un référence I9 et une référence R728C13... C'est normal qu'il y perde la tête!

Soit tu utilises des références du type I9, J9,... et dans ce cas là c'est activecell.formula =...

Soit tu utilise des références du type R1C1,... et dans ce cas là c'est activecell.formulaR1C1 = ...

Tubafat  
Avant d'imprimer, pensez à l'environnement
0
canichon Messages postés 50 Date d'inscription vendredi 7 juillet 2006 Statut Membre Dernière intervention 2 septembre 2009
20 sept. 2007 à 15:35
OK... C mieux mais pas encore parfait...

Il me colle la bonne formule mais le résultat est : #NOM?


Il faut que je sélectionne la cellule concernée et que je clique dans le bandeau du contenu de la cellule ( pour faire apparaitre la formule ) pour que ça marche !!!!

BIZARRE !!!
0
tubafat Messages postés 79 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 25 septembre 2007
20 sept. 2007 à 15:41
Oui très bizarre...
Là je t'avoue que je vois pas d'où ça peut venir!
Tu utilise quelle référencement donc: A1 ou R1C1?
Parceque vérifie dans tes options d'Excel si celà correpond bien... On sait jamais...

Tubafat  
Avant d'imprimer, pensez à l'environnement
0
canichon Messages postés 50 Date d'inscription vendredi 7 juillet 2006 Statut Membre Dernière intervention 2 septembre 2009
20 sept. 2007 à 15:44
J'ai tout mis en R1C1... bizarre
0
tubafat Messages postés 79 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 25 septembre 2007
20 sept. 2007 à 15:46
Et dans les options Excel -> Onglet général, tu as bien coché la case "référence en R1C1 (OU L1C1)"???

Tubafat  
Avant d'imprimer, pensez à l'environnement
0
canichon Messages postés 50 Date d'inscription vendredi 7 juillet 2006 Statut Membre Dernière intervention 2 septembre 2009
20 sept. 2007 à 15:50
Avec ou sans, C pareil...

j'ai meme essayé de modifier la cellule en remplaçant les $ par rien mais rien n'y fait... il faut que "j'active" les cellules !!!!!
0
canichon Messages postés 50 Date d'inscription vendredi 7 juillet 2006 Statut Membre Dernière intervention 2 septembre 2009
20 sept. 2007 à 15:56
Rien n'y fait
0
tubafat Messages postés 79 Date d'inscription lundi 17 juillet 2006 Statut Membre Dernière intervention 25 septembre 2007
20 sept. 2007 à 16:04
Ben là du coup je sais pas d'où ça peut venir...
Peut-être que quelqu'un d'autre saura mieux t'éclairer!

Tubafat  
Avant d'imprimer, pensez à l'environnement
0
Rejoignez-nous