insérer une fonction dans une cellule [Résolu]

Signaler
Messages postés
50
Date d'inscription
vendredi 7 juillet 2006
Statut
Membre
Dernière intervention
2 septembre 2009
-
Messages postés
50
Date d'inscription
vendredi 7 juillet 2006
Statut
Membre
Dernière intervention
2 septembre 2009
-
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

Messages postés
50
Date d'inscription
vendredi 7 juillet 2006
Statut
Membre
Dernière intervention
2 septembre 2009

j'ai reposter un autre sujet sur ce probleme... en tout cas, merci pour ton aide.
Messages postés
79
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
25 septembre 2007

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
Messages postés
50
Date d'inscription
vendredi 7 juillet 2006
Statut
Membre
Dernière intervention
2 septembre 2009

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  ???


 
Messages postés
79
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
25 septembre 2007

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
Messages postés
50
Date d'inscription
vendredi 7 juillet 2006
Statut
Membre
Dernière intervention
2 septembre 2009

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.....
Messages postés
79
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
25 septembre 2007

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
Messages postés
50
Date d'inscription
vendredi 7 juillet 2006
Statut
Membre
Dernière intervention
2 septembre 2009

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 !!!
Messages postés
79
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
25 septembre 2007

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
Messages postés
50
Date d'inscription
vendredi 7 juillet 2006
Statut
Membre
Dernière intervention
2 septembre 2009

J'ai tout mis en R1C1... bizarre
Messages postés
79
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
25 septembre 2007

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
Messages postés
50
Date d'inscription
vendredi 7 juillet 2006
Statut
Membre
Dernière intervention
2 septembre 2009

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 !!!!!
Messages postés
50
Date d'inscription
vendredi 7 juillet 2006
Statut
Membre
Dernière intervention
2 septembre 2009

Rien n'y fait
Messages postés
79
Date d'inscription
lundi 17 juillet 2006
Statut
Membre
Dernière intervention
25 septembre 2007

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