Re : Taille de formule limitée en VBA?
Bonjour JNP,
J'ai essayé votre astuce.
Malheureusement, j'ai toujours du texte en rouge.
code initial:
Sub Macro5()
'
' Macro5 Macro
'
'
ActiveCell.FormulaR1C1 = _
"=IF(RC[-1]=R[-1]C[-1],"""",IF(AND(RC[-1]=R[7]C[-1],RC[-1]=R[6]C[-1],RC[-1]=R[5]C[-1],RC[-1]=R[4]C[-1],RC[-1]=R[3]C[-1],RC[-1]=R[2]C[-1],RC[-1]=R[1]C[-1]),1/((1/R[7]C[-6])+(1/R[6]C[-6])+(1/R[5]C[-6])+(1/R[4]C[-6])+(1/R[3]C[-6])+(1/R[2]C[-6])+(1/R[1]C[-6])+(1/RC[-6])),IF(AND(RC[-1]=R[6]C[-1],RC[-1]=R[5]C[-1],RC[-1]=R[4]C[-1],RC[-1]=R[3]C[-1],RC[-1]=R[2]C[-1],RC[-1]=R[1]C[-1]),1/((1/R[6]C[-6])+(1/R[5]C[-6])+(1/R[4]C[-6])+(1/R[3]C[-6])+(1/R[2]C[-6])+(1/R[1]C[-6])+(1/RC[-6])),IF(AND(RC[-1]=R[5]C[-1],RC[-1]=R[4]C[-1],RC[-1]=R[3]C[-1],RC[-1]=R[2]C[-1],RC[-1]=R[1]C[-1]),1/((1/R[5]C[-6])+(1/R[4]C[-6])+(1/R[3]C[-6])+(1/R[2]C[-6])+(1/R[1]C[-6])+(1/RC[-6])),IF(AND(RC[-1]=R[4]C[-1],RC[-1]=R[3]C[-1],RC[-1]=R[2]C[-1],RC[-1]=R[1]C[-1]),1/((1/R[4]C[-6])+(1/R[3]C[-6])+(1/R[2]C[-6])+(1/R[1]C[-6])+(1/RC[-6])),IF(AND(R[3]C[-1]=RC[-1],RC[-1]=R[2]C[-1],RC[-1]=R[1]C[-1]),1/((1/R[3]C[-6])+(1/R[2]C[-6])+(1/R[1]C[-6])+(1/RC[-6])),IF(AND(RC[-1]=R[2]C[-1],RC[-1]=R[1]C[-1]),1/((1/R[2]C[-6])+(1/R[1]C[-6])+(1/RC[-6])),IF(RC[-1]=R[
1]C[-1],1/((1/R[1]C[-6])+(1/RC[-6])),RC[-6]))))))))"
End Sub
Code essayé après avoir lu votre astuce :
Sub Macro5()
'
' Macro5 Macro
'
'
ActiveCell.FormulaR1C1 = _
"=IF(RC[-1]=R[-1]C[-1],"""",IF(AND(RC[-1]=R[7]C[-1],RC[-1]=R[6]C[-1],RC[-1]=R[5]C[-1],RC[-1]=R[4]C[-1],RC[-1]=R[3]C[-1],RC[-1]=R[2]C[-1],RC[-1]=R[1]C[-1]),1/((1/R[7]C[-6])+(1/R[6]C[-6])+(1/R[5]C[-6])+(1/R[4]C[-6])+(1/R[3]C[-6])+(1/R[2]C[-6])+(1/R[1]C[-6])+(1/RC[-6])),IF(AND(RC[-1]=R[6]C[-1],RC[-1]=R[5]C[-1],RC[-1]=R[4]C[-1],RC[-1]=R[3]C[-1],RC[-1]=R[2]C[-1],RC[-1]=R[1]C[-1]),1/((1/R[6]C[-6])+(1/R[5]C[-6])+(1/R[4]C[-6])+(1/R[3]C[-6])+(1/R[2]C[-6])+(1/R[1]C[-6])+(1/RC[-6])),IF(AND(RC[-1]=R[5]C[-1],RC[-1]=R[4]C[-1],RC[-1]=R[3]C[-1],RC[-1]=R[2]C[-1],RC[-1]=R[1]C[-1]),1/((1/R[5]C[-6])+(1/R[4]C[-6])+(1/R[3]C[-6])+(1/R[2]C[-6])+(1/R[1]C[-6])+(1/RC[-6])),IF(AND(RC[-1]=R[4]C[-1],RC[-1]=R[3]C[-1],RC[-1]=R[2]C[-1],RC[-1]=R[1]C[-1]),1/((1/R[4]C[-6])+(1/R[3]C[-6])+(1/R[2]C[-6])+(1/R[1]C[-6])+(1/RC[-6])),IF(AND(R[3]C[-1]=RC[-1],RC[-1]=R[2]C[-1],RC[-1]=R[1]C[-1]),1/((1/R[3]C[-6])+(1/R[2]C[-6])+(1/R[1]C[-6])+(1/RC[-6]))," & _
"= IF(AND(RC[-1]=R[2]C[-1],RC[-1]=R[1]C[-1]),1/((1/R[2]C[-6])+(1/R[1]C[-6])+(1/RC[-6])),IF(RC[-1]=R[ & _
" = 1]C[-1],1/((1/R[1]C[-6])+(1/RC[-6])),RC[-6]))))))))"
Range("N8").Select
End Sub
Message = erreur de compilation, attendu fin d'instruction...
Où est le problème?