Ajout de formule dans une cellule par code

Résolu
alexsimps2002 Messages postés 91 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 22 juillet 2006 - 20 juil. 2006 à 18:01
alexsimps2002 Messages postés 91 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 22 juillet 2006 - 22 juil. 2006 à 01:26
Bonjour,

Je suis acutellement en train de travailler sur un fichier excel.
Dans un premier, j'ai défini, en code, les noms de certaines cellules (ex B3=MP10?TOTO.GCI8)
ensuite, je souhaite utilisé cet alias dans une autre formule.
J'utilise pour cela la propriété formula de mon objet range, mais à l'execution, une erreur 1004 est trouvé.
Quelle est cette erreur ? Comment dois je m'y prendre ?
J'ai fais affiché ma formule dans une msgbox, et elle est juste... Je ne comprends pas ce qui se passe...
Merci a vous tous qui auront une idée, et a ceux qui chercheront a m'aider.

mon code :
Ajout de l'alias :
    NouvelleFeuille.Range("B8").Name = Groupe.Range("B" & i) & "?QUITT.GCI6"

Ajout de ma formule : (msgbox juste avant)
    MsgBox "=SI(D4=0;ARRONDI(" & Groupe.Range("B" & i) & "?QUITT.GCI10;2);ARRONDI(" & Groupe.Range("B" & i) & "?QUITT.GCI10*" & Groupe.Range("B" & i) & "?QUITT.GCI4;2))"

    NouvelleFeuille.Range("B8").Formula = "=SI(D4=0;ARRONDI(" + Groupe.Range("B" & i) + "?QUITT.GCI10;2);ARRONDI(" & Groupe.Range("B" & i) + "?QUITT.GCI10*" + Groupe.Range("B" & i) + "?QUITT.GCI4;2))"

Alexsimps
La vie ne vaut rien mais rien ne vaut la vie

5 réponses

cs_MPi Messages postés 3877 Date d'inscription mardi 19 mars 2002 Statut Membre Dernière intervention 17 août 2018 23
21 juil. 2006 à 10:40
Si tu utilises .Formula, tes formules doivent être en anglais avec la virgule comme séparateur.
Plutôt que Range("A1").Formula = "SI(B1>0;  "X";  "-")"
ça devrait être
Range("A1").Formula = "IF(B1>0,  "X",  "-")"

Le plus difficile est de trouver les bons termes anglais pour les différentes fonctions. Une façon d'y arriver, c'est d'écrire ta formule dans ta cellule et de faire une petite fonction qui te retourne "Formula"
MsgBox Range("A1").Formula

Si tu veux utiliser la formule française que tu as déjà créée, tu dois utiliser .FormulaLocal
Ton programme ne sera pas portable sur un système configuré en anglais par contre...

MPi
3
Dolphin Boy Messages postés 630 Date d'inscription vendredi 5 mai 2006 Statut Membre Dernière intervention 17 février 2007
20 juil. 2006 à 19:15
Salut

Pour donner un nom à une cellule, par exemple B8, je fais comme ça :

ActiveWorkbook.Names.Add Name:="nom_choisi", RefersToR1C1:="=Nom_de_Tafeuille!R8C2"

R8C2 = row 8 column 2
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
21 juil. 2006 à 04:32
Salut,

n'oublie pas qu'avec Excel tu as la possibilité de t'enregistrer ce qui s'avère un allié très puissant !
Il suffit de faire 2 ou 3 bidouilles dans le code pour qu'il soit performant et c'est parti

@++

  Mortalino
Le mystérieux chevalier, "Provençal, le Gaulois"

Merci de prendre le temps de répondre à ce
sondage


Merci de prendre le temps de lire
le Règlement CS


    http://www.smileycentral.com/?partner=ZSzeb008_ZNxdm414YYFR
0
tof008 Messages postés 695 Date d'inscription jeudi 5 mai 2005 Statut Membre Dernière intervention 5 janvier 2010 33
21 juil. 2006 à 09:20
Je traduis Mortalino lol : Tu peux t'enregistrer en faisant une macro et regarder par la suite le code generé... Ce qui te permet de trouver de l'aide par toi même...!

         (Si la réponse vous convient, appuyez sur réponse acceptée...).

                           Noubliez pas de lire le REGLEMENT 
0

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

Posez votre question
alexsimps2002 Messages postés 91 Date d'inscription jeudi 5 juin 2003 Statut Membre Dernière intervention 22 juillet 2006 4
22 juil. 2006 à 01:26
Merci beaucoup a toi MPI, j'ai passé mes formules en anglais et tout marche bien !!!!
C'est trop bien.
Merci a tout le monde pour ces reponses, vous m'avez debloqué !!
A bientôt sur vbfrance, pour que je vous aide peut être, ou parce que j'aurais encore besoin de vous, qui sait !!!

Alexsimps
La vie ne vaut rien mais rien ne vaut la vie
0
Rejoignez-nous