Erreur 1004 VBA [Résolu]

rorolidalgo2 1 Messages postés lundi 8 janvier 2018Date d'inscription 8 janvier 2018 Dernière intervention - 8 janv. 2018 à 17:05 - Dernière réponse : Patrice33740 6553 Messages postés dimanche 13 juin 2010Date d'inscription 23 janvier 2018 Dernière intervention
- 9 janv. 2018 à 00:22
Bonjour,
J'ai cette formule dans un code qui me fait tourner en bourrique. J'obtiens une "erreur d'exécution 1004 vba erreur definie par l'application ou l'objet":
maPlage.Cells(i, 1).Formula = "=RC[" & b & "]*" & CSng(maPlageCleRepart.Cells(b, 1)) & ""
En gros, je fais référence à une cellule située sur la même ligne (RC.....), que je dois multiplier par un facteur que je lis dans une plage annexe.
Si je remplace le "CSng(maPlageCleRepart.Cells(b, 1)) & "" par le chiffre 2 par ex je n'ai pas d'erreur. Dès que je reparamètre la valeur, ça déconne. J'ai essayé d'enlever Csng =>rien. d'enlever le &"" à la fin =>rien. En revanche, si je mets CLng au lieu de CSng ça fonctionne!! mais je ne veux pas un entier, je veux une valeur décimale (ce sont des pourcentages que j'ai dans ma plage annexe).
Quelqu'un pense à une solution?
Merci

NB: J'ai EXCEL 2016 sous Windows10
Afficher la suite 

2 réponses

Répondre au sujet
Patrice33740 6553 Messages postés dimanche 13 juin 2010Date d'inscription 23 janvier 2018 Dernière intervention - 9 janv. 2018 à 00:13
0
Utile
1
Bonjour

Essaies avec :
maPlage.Cells(i, 1).FormulaR1C1 = "=RC[" & b & "]*" & Replace(CStr(CSng(maPlageCleRepart.Cells(b, 1).Value)), ",", ".") 

Patrice33740 6553 Messages postés dimanche 13 juin 2010Date d'inscription 23 janvier 2018 Dernière intervention - 9 janv. 2018 à 00:22
Ou bien :
maPlage.Cells(i, 1).FormulaR1C1Local = "=LC(" & b & ")*" & CSng(maPlageCleRepart.Cells(b, 1).Value)
Commenter la réponse de Patrice33740