Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Question rapide...

8 réponses
Avatar
Ricou
Désolé, question idiote :

je n'arrive pas à déboger ça :
Cells(2, janv + Month(Date) - 2).FormulaR1C1 =
"=IF(OR(P0!RC=0,P0!RC=""),"",100*Pm!RC/P0!RC)"

Une âme charitable pourrait-elle me débloquer?

Merci d'avance

8 réponses

Avatar
Christian.L
Bonjour Ricou

Personnellement je n'ai jamais réussi a inscrire par VBA suivant
ta syntaxe une formule contenant des guillemets.

La dernière fois que le problème s'est posé, j'ai écrit la formule
dans une cellule d'une feuille brouillon puis fait une copie de celle ci
vers la cellule de destination.

Bon courage


"Ricou" a écrit dans le message de news:

Désolé, question idiote :

je n'arrive pas à déboger ça :
Cells(2, janv + Month(Date) - 2).FormulaR1C1 > "=IF(OR(P0!RC=0,P0!RC=""),"",100*Pm!RC/P0!RC)"

Une âme charitable pourrait-elle me débloquer?

Merci d'avance



Avatar
AV
je n'arrive pas à déboger ça :
Cells(2, janv + Month(Date) - 2).FormulaR1C1 > "=IF(OR(P0!RC=0,P0!RC=""),"",100*Pm!RC/P0!RC)"


Double les guillemets !

AV

Avatar
Ricou
Merci AV,

mais...(évidemment il y a un mais) ca ne marche pas...
J'ai toujours une erreur '1004'...
je ne comprends pas, même avec Cells.select puis Activecell.FormluaR1C1, le
message apparaît toujours !

Une idée? Sinon, je suis ouvert à d'autres manières d'écrire la formule.
En tout cas merci pour ton aide


je n'arrive pas à déboger ça :
Cells(2, janv + Month(Date) - 2).FormulaR1C1 > > "=IF(OR(P0!RC=0,P0!RC=""),"",100*Pm!RC/P0!RC)"


Double les guillemets !

AV






Avatar
AV
Ces deux syntaxes sont équivalentes

Cells(2, janv + Month(Date) - 2).FormulaR1C1 "=IF(OR(P0!RC=0,P0!RC=""""),"""",100*Pm!RC/P0!RC)"
Cells(2, janv + Month(Date) - 2) "=IF(OR(P0!RC=0,P0!RC=""""),"""",100*Pm!RC/P0!RC)"

AV
Avatar
Ricou
Tu les as essayées ? j'ai pris ta deuxième version, ca ne fonctionne toujours
pas !
C'est à n'y rien comprendre !
Ca m'ennuie d'écrire la condition dans if then else car je fais
selection.autofill après.
Mais...
C'est le fait que ce soit cells ?

Désolé, je pensais que ce serait simple quand j'ai écris l'objet de ma
question...
il est peut être possible de passer par autre chose que cette formule...?

Merci



Ces deux syntaxes sont équivalentes

Cells(2, janv + Month(Date) - 2).FormulaR1C1 > "=IF(OR(P0!RC=0,P0!RC=""""),"""",100*Pm!RC/P0!RC)"
Cells(2, janv + Month(Date) - 2) > "=IF(OR(P0!RC=0,P0!RC=""""),"""",100*Pm!RC/P0!RC)"

AV





Avatar
Christian.L
Ricou

Tu place ta formule :
=IF(OR(P0!RC=0,P0!RC=""),"",100*Pm!RC/P0!RC)
dans la cellule A1 de la Feuil1 par exemple

Pour la copier dans la Feuil2 par exemple :
Worksheets("Feuil1").Range("A1").Copy
destination:=Worksheets("Feuil2").Cells(2, janv + Month(Date) - 2)



A adapter a tes besoins

Bon courage

C.L.

"Ricou" a écrit dans le message de news:

Merci AV,

mais...(évidemment il y a un mais) ca ne marche pas...
J'ai toujours une erreur '1004'...
je ne comprends pas, même avec Cells.select puis Activecell.FormluaR1C1,
le
message apparaît toujours !

Une idée? Sinon, je suis ouvert à d'autres manières d'écrire la formule.
En tout cas merci pour ton aide


je n'arrive pas à déboger ça :
Cells(2, janv + Month(Date) - 2).FormulaR1C1 >> > "=IF(OR(P0!RC=0,P0!RC=""),"",100*Pm!RC/P0!RC)"


Double les guillemets !

AV








Avatar
AV
Tu les as essayées ?


Oui !
Le fait que "ça ne fonctionne pas" vient donc d'ailleurs !
Vérifie que ta variable "janv" est bien initialisée, l'existence et
l'orthographe des noms de feuilles...etc...
Exemple là :
http://cjoint.com/?jgsxbTGBOq

AV

Avatar
Ricou
J'ai tout vérifié et l'erreur est de type 1004.
Finalement, j'ai fait une boucle avec condition c'est assez rapide et ca
fonctionne bien.
Merci à tous les deux et désolé de vous avoir embêtés pour ca...

For i = 2 To [A3].CurrentRegion.Rows.Count
If Sheets("P0").Cells(i, janv + Month(Date) - 2) = 0 Or
Sheets("P0").Cells(i, janv + Month(Date) - 2) = "" Then
Cells(i, janv + Month(Date) - 2) = ""
Else
Pm = Sheets("Pm").Cells(i, janv + Month(Date) - 2)
P0 = Sheets("P0").Cells(i, janv + Month(Date) - 2)
Cells(i, janv + Month(Date) - 2) = Pm / P0
' Cells(2, janv + Month(Date) - 2).Select
' Selection.AutoFill Destination:=Range(Cells(2, janv + Month(Date) - 2),
Cells([A3].CurrentRegion.Rows.Count, janv + Month(Date) - 2)),
Type:=xlFillDefault
End If
Next



Tu les as essayées ?


Oui !
Le fait que "ça ne fonctionne pas" vient donc d'ailleurs !
Vérifie que ta variable "janv" est bien initialisée, l'existence et
l'orthographe des noms de feuilles...etc...
Exemple là :
http://cjoint.com/?jgsxbTGBOq

AV