Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Avec vba, écrire une formule dans une cellule

  • Initiateur de la discussion Initiateur de la discussion Lsg
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

L

Lsg

Guest
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
 
Re : Avec vba, écrire une formule dans une cellule

Bonjour,

Code:
sheets(2).Range("A" & cpt).Formulalocal = "=SI(ESTNUM(A" & (cpt - 1) & ");A" & (cpt - 1) & " + 1 ; 1)"

Edit: ouppsss, suis à la bourre moi, salut Pascal 🙂
 
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
 
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..
 
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)"
 
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.
 
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 🙂
 
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)"
 
Re : Avec vba, écrire une formule dans une cellule

Merci pour ta réponse. Effectivement j'avais un mléange de virgule et de point virgule dans ma formule .

Mai smême en essayant avec des virgules ou des point-virgule ça ne marche pas 🙁
 
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
 
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
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

Réponses
6
Affichages
693
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…