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