altinea
XLDnaute Accro
Bonsoir, je souhaiterai pouvoir transformer une formule en macro, je m'explique, afin de sécuriser la formule,
Voici la macro que j'essaye de mettre en place mais ça ne fonctionne pas.
Sub Macro5()
ActiveSheet.PasteSpecial Format:="Texte Unicode", Link:=False, _
DisplayAsIcon:=False, NoHTMLFormatting:=True
Selection.FormulaArray = _
"=IF(OR('Formations PSST'!RC41<>3,'Formations PSST'!RC6="""",ISTEXT('Formations PSST'!RC6)),"""",LEFT('Formations PSST'!RC5,5)&""-""&YEAR('Formations PSST'!RC6)&""-""&TEXT(SUM(IF(ISNUMBER(R4C[-30]:RC[-30])*SUBTOTAL(3,OFFSET(R3C[-31],ROW(INDIRECT(""1:""&ROWS(R4:R))),)),(R4C[-31]:RC[-31]=RC[-31])*(R4C[5]:RC[5]=3)*(YEAR(R4C[-30]:RC[-30])=YEAR(RC[-30])))),""00""))"
Selection.AutoFill Destination:=Range("AJ4:AJ"), Type:=xlFillDefault
Range("AJ4:AJ").Select
End Sub
ici le code de la formule que je souhaite appliquer
{=SI(OU('Formations PSST'!$AO4<>3;'Formations PSST'!$F4="";ESTTEXTE('Formations PSST'!$F4));"";GAUCHE('Formations PSST'!$E4;5)&"-"&ANNEE('Formations PSST'!$F4)&"-"&TEXTE(SOMME(SI(ESTNUM(F$4:F4)*SOUS.TOTAL(3;DECALER(E$3;LIGNE(INDIRECT("1:"&LIGNES($4:4))));(E$4:E4=E4)*(AO$4:AO4=3)*(ANNEE(F$4:F4)=ANNEE(F4))));"00"))}
Ci joint fichier, je rencontre un problème avec la formule ainsi faite car lors des divers tri que je peux opérer les formules ne s’actualisent pas,
merci pour votre aide
Voici la macro que j'essaye de mettre en place mais ça ne fonctionne pas.
Sub Macro5()
ActiveSheet.PasteSpecial Format:="Texte Unicode", Link:=False, _
DisplayAsIcon:=False, NoHTMLFormatting:=True
Selection.FormulaArray = _
"=IF(OR('Formations PSST'!RC41<>3,'Formations PSST'!RC6="""",ISTEXT('Formations PSST'!RC6)),"""",LEFT('Formations PSST'!RC5,5)&""-""&YEAR('Formations PSST'!RC6)&""-""&TEXT(SUM(IF(ISNUMBER(R4C[-30]:RC[-30])*SUBTOTAL(3,OFFSET(R3C[-31],ROW(INDIRECT(""1:""&ROWS(R4:R))),)),(R4C[-31]:RC[-31]=RC[-31])*(R4C[5]:RC[5]=3)*(YEAR(R4C[-30]:RC[-30])=YEAR(RC[-30])))),""00""))"
Selection.AutoFill Destination:=Range("AJ4:AJ"), Type:=xlFillDefault
Range("AJ4:AJ").Select
End Sub
ici le code de la formule que je souhaite appliquer
{=SI(OU('Formations PSST'!$AO4<>3;'Formations PSST'!$F4="";ESTTEXTE('Formations PSST'!$F4));"";GAUCHE('Formations PSST'!$E4;5)&"-"&ANNEE('Formations PSST'!$F4)&"-"&TEXTE(SOMME(SI(ESTNUM(F$4:F4)*SOUS.TOTAL(3;DECALER(E$3;LIGNE(INDIRECT("1:"&LIGNES($4:4))));(E$4:E4=E4)*(AO$4:AO4=3)*(ANNEE(F$4:F4)=ANNEE(F4))));"00"))}
Ci joint fichier, je rencontre un problème avec la formule ainsi faite car lors des divers tri que je peux opérer les formules ne s’actualisent pas,
merci pour votre aide