Erreur 1004 VBA

Résolu/Fermé
rorolidalgo2 Messages postés 4 Date d'inscription lundi 8 janvier 2018 Statut Membre Dernière intervention 8 janvier 2022 - 8 janv. 2018 à 17:05
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 - 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

1 réponse

Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
9 janv. 2018 à 00:13
Bonjour

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

0
Patrice33740 Messages postés 8556 Date d'inscription dimanche 13 juin 2010 Statut Membre Dernière intervention 2 mars 2023 1 775
9 janv. 2018 à 00:22
Ou bien :
maPlage.Cells(i, 1).FormulaR1C1Local = "=LC(" & b & ")*" & CSng(maPlageCleRepart.Cells(b, 1).Value)
0