Avec vba, écrire une formule dans une cellule

Lsg

XLDnaute Nouveau
Bonjour.

Lorsque j'utilise ce code en vba, j'ai un message d'erreur.
Ai tenté de trouvé le problème, mais sans résultat.
Pourrierz-vous m'aider ?

'=>Erreur d'exécution '1004', erreur définie par l'application ou par l'objet
Worksheets(2).Range("A" & cpt).Formula = "=SI(ESTNUM(A"'& (cpt - 1) & ");A" & (cpt - 1) & " + 1 ; 1)"

Je ne crois pas que le problème vienne de la partie droite du =, je l'ai vérifiée, revérifiée et re-re-re-vérifiée !

Merci.


Lsg
 

Lsg

XLDnaute Nouveau
Re : Avec vba, écrire une formule dans une cellule

Merci skoobi. C'était toi qui avait raison.
Tu m'as fait gagner pas mal de temps parceque j'ai cherché la solution pendant TRES LONGTEMPS !!!
Quelqu'un peut m'expliquer la différence ? A quel moment utiliser .formula et .formulalocal ?


Merci aussi à toi PascalXLD. Même si ce n'était pas la solution, c'est chouette d'avoir répondu et essayé.

Bonne journée, bon week-end.

Cordialement.


Lsg
 

tototiti2008

XLDnaute Barbatruc
Re : Avec vba, écrire une formule dans une cellule

Bonjour à tous,

avec Formula tu dois mettre la formule en anglais, comme la précisé PascalXLD, avec FormulaLocal tu peux la mettre dans la langue d'Excel... ce qui veut dire que ton code ne fonctionnera que sur des Excel français..
 

PascalXLD

XLDnaute Barbatruc
Modérateur
Re : Avec vba, écrire une formule dans une cellule

RE

j'avais oublié de préciser qu'écrivant la formule en anglais il faut remplacer les ; par des ,

Worksheets(2).Range("A" & cpt).Formula = "=IF(isnumber(A" & (cpt - 1) & "),A" & (cpt - 1) & " + 1 , 1)"
 

philmascio

XLDnaute Nouveau
Re : Avec vba, écrire une formule dans une cellule

J'ajouterais au propos de PascalXLD que non seulement il faut remplacer les ; par des , mais que les , présentes dans les nombres (séparateur décimal) sont automatiquement remplacées par des ; ce qui peut poser de sérieux problèmes.

J'ai donc opté pour .FormulaLocal qui règle tous mes problèmes.
 

Camille Pollita

XLDnaute Nouveau
Re : Avec vba, écrire une formule dans une cellule

Bonjour à tous,

Je viens vers vous pour le même type de problème que je n'arrive pas à résoudre malgré vos bons conseils.

Voici mon script:

Cells(12, 3).Select

Dim onglet As String
client = "dupont"
ActiveCell.FormulaLocal = "=RECHERCHEV($B6,'[Evolution compte.xls] " & client & "'$C$9:$BE$149;$H$6,FAUX)"

Erreur d'éxécution 1004
Erreur définie par l'application ou par l'objet.

Je n'arrive pas à trouver le problème.
Merci d'avance pour votre aide :)
 

tototiti2008

XLDnaute Barbatruc
Re : Avec vba, écrire une formule dans une cellule

Bonjour Camille,

Bienvenue sur XLD,

Si Formula, alors :
noms de fonctions en anglais
séparateur d'arguments : virgule
séparateur décimal : point

Si FormulaLocal :
noms de fonctions en français
séparateur d'arguments : point-virgule
séparateur décimal : virgule (peut-être en fonction des paramètres régionaux)

essaye peut-être

Code:
ActiveCell.FormulaLocal = "=RECHERCHEV($B6;'[Evolution compte.xls]" & client & "'!$C$9:$BE$149;$H$6;FAUX)"
 

tcarrier

XLDnaute Nouveau
Re : Avec vba, écrire une formule dans une cellule

Bonjours, pour faire suite à cette discusion, j'essai de faire fonctionné le code suivant et j'ai toujours des erreurs de compilation. Est-ce que quelqu'un peu m'aider

......
Dim nom As String
.....

Sheets("Liste_Facture").Range("E" & Target.Row) = "=SI(ESTERREUR(CELLULE("contenu";"nom"!G42));"";CELLULE("contenu";"nom"!G42))"

J'ai toujours une erreur de compilation du ("contenu"), j'imagine que ma variable "nom" ne fonctionnera pas non plus ???

Merci
 

Pierrot93

XLDnaute Barbatruc
Re : Avec vba, écrire une formule dans une cellule

Bonjour,

si "contenu" et "nom" sont des variables, essaye peut être ceci :

Code:
Sheets("Liste_Facture").Range("E" & Target.Row) = "=SI(ESTERREUR(CELLULE(" & contenu & ";" & nom & "!G42));"";CE LLULE(" & contenu & ";" & nom & "!G42))"

non testé...

bonne journée
@+
 

Discussions similaires

Réponses
6
Affichages
248

Statistiques des forums

Discussions
312 321
Messages
2 087 266
Membres
103 502
dernier inscrit
talebafia