OVH Cloud OVH Cloud

Simplifier macro (message lourd) :-( ... désolé

17 réponses
Avatar
Octave
Bonjour à tous,

Je cherche, j'explore, j'arrive à trouver mais je suis toujours débutant.
Aussi, j'aurais besoin d'aide pour simplifier la macro qui suit :

Merci d'avance
Octave

Sub Macro4()

Range("B8:E8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("G8:J8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("L8:O8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("Q8:T8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("V8:Y8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AA8:AD8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AF8:AI8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AK8:AN8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AP8:AS8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AU8:AX8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"

Range("B14:E14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("G14:J14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("L14:O14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("Q14:T14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("V14:Y14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AA14:AD14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AF14:AI14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AK14:AN14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AP14:AS14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AU14:AX14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"

Range("B20:E20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("G20:J20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("L20:O20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("Q20:T20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("V20:Y20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AA20:AD20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AF20:AI20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AK20:AN20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AP20:AS20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AU20:AX20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"

Range("B26:E26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("G26:J26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("L26:O26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("Q26:T26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("V26:Y26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AA26:AD26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AF26:AI26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AK26:AN26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AP26:AS26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AU26:AX26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"

Range("B32:E32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("G32:J32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("L32:O32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("Q32:T32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("V32:Y32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AA32:AD32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AF32:AI32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AK32:AN32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AP32:AS32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AU32:AX32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"

Range("B38:E38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("G38:J38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("L38:O38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("Q38:T38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("V38:Y38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AA38:AD38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AF38:AI38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AK38:AN38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AP38:AS38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AU38:AX38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"

Range("B44:E44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("G44:J44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("L44:O44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("Q44:T44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("V44:Y44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AA44:AD44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AF44:AI44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AK44:AN44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AP44:AS44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AU44:AX44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"

Range("B50:E50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("G50:J50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("L50:O50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("Q50:T50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("V50:Y50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AA50:AD50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AF50:AI50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AK50:AN50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AP50:AS50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AU50:AX50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"

Range("B56:E56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("G56:J56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("L56:O56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("Q56:T56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("V56:Y56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AA56:AD56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AF56:AI56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AK56:AN56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AP56:AS56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AU56:AX56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"

End Sub

10 réponses

1 2
Avatar
AV
Aussi, j'aurais besoin d'aide pour simplifier la macro qui suit :


Si l'on s'en tient à ce que fait ta macro.... ça pourrait faire :

Sub zzz()
For i = 8 To 56 Step 6
For j = 2 To 47 Step 5
Cells(i, j) = "=if(" & Cells(i + 1, j + 4).Address &
"=$BD$12,$BB$12,$BC$12)"
Next j
Next i
End Sub

AV

Avatar
Jean-François Aubert
Salut Octave,

Sauf erreur, cela devrait faire.


sub Macro4_bis()

Range("B8").FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("B8:F8").AutoFill Destination:=Range("B8:AX8"), Type:=xlFillDefault
Range("B8:AX13").AutoFill Destination:=Range("B8:AX56"), Type:=xlFillDefault

end sub

--
Amicalement

Jean-François Aubert
{Vaudois de la Côte Lémanique}


"Octave" a écrit dans le message de news:cdgemj$34r$
Bonjour à tous,

Je cherche, j'explore, j'arrive à trouver mais je suis toujours débutant.
Aussi, j'aurais besoin d'aide pour simplifier la macro qui suit :

Merci d'avance
Octave

Sub Macro4()

Range("B8:E8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("G8:J8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("L8:O8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("Q8:T8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("V8:Y8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AA8:AD8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AF8:AI8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AK8:AN8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AP8:AS8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AU8:AX8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"

Range("B14:E14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("G14:J14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("L14:O14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("Q14:T14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("V14:Y14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AA14:AD14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AF14:AI14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AK14:AN14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AP14:AS14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AU14:AX14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"

Range("B20:E20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("G20:J20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("L20:O20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("Q20:T20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("V20:Y20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AA20:AD20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AF20:AI20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AK20:AN20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AP20:AS20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AU20:AX20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"

Range("B26:E26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("G26:J26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("L26:O26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("Q26:T26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("V26:Y26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AA26:AD26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AF26:AI26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AK26:AN26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AP26:AS26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AU26:AX26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"

Range("B32:E32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("G32:J32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("L32:O32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("Q32:T32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("V32:Y32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AA32:AD32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AF32:AI32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AK32:AN32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AP32:AS32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AU32:AX32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"

Range("B38:E38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("G38:J38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("L38:O38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("Q38:T38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("V38:Y38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AA38:AD38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AF38:AI38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AK38:AN38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AP38:AS38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AU38:AX38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"

Range("B44:E44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("G44:J44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("L44:O44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("Q44:T44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("V44:Y44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AA44:AD44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AF44:AI44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AK44:AN44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AP44:AS44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AU44:AX44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"

Range("B50:E50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("G50:J50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("L50:O50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("Q50:T50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("V50:Y50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AA50:AD50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AF50:AI50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AK50:AN50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AP50:AS50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AU50:AX50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"

Range("B56:E56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("G56:J56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("L56:O56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("Q56:T56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("V56:Y56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AA56:AD56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AF56:AI56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AK56:AN56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AP56:AS56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AU56:AX56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"

End Sub





Avatar
Michel Gaboly
Bonjour,

La première chose à faire est de supprimer tout les Select qui ralentissent
le traitement.

Par ailleurs tu utilises une formule unique répétée toutes les 5 colonnes
et toutes les 6 lignes de B8 à AU56.

C’est typiquement un cas où les boucles permettent de simplifier. Il faut
ici 2 boucles imbriquées, l’une pour les lignes, l’autre pour les colonnes :

Sub VersionCourte()
Dim i As Integer, j As Integer, Formule As String
Formule = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
For i = 0 To 45 Step 5
For j = 0 To 48 Step 6
Range("B8").Offset(j, i).FormulaR1C1 = Formule
Next j
Next i
End Sub



Bonjour à tous,

Je cherche, j'explore, j'arrive à trouver mais je suis toujours débutant.
Aussi, j'aurais besoin d'aide pour simplifier la macro qui suit :

Merci d'avance
Octave

Sub Macro4()

Range("B8:E8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("G8:J8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("L8:O8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("Q8:T8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("V8:Y8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AA8:AD8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AF8:AI8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AK8:AN8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AP8:AS8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AU8:AX8").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"

Range("B14:E14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("G14:J14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("L14:O14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("Q14:T14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("V14:Y14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AA14:AD14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AF14:AI14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AK14:AN14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AP14:AS14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AU14:AX14").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"

Range("B20:E20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("G20:J20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("L20:O20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("Q20:T20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("V20:Y20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AA20:AD20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AF20:AI20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AK20:AN20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AP20:AS20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AU20:AX20").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"

Range("B26:E26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("G26:J26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("L26:O26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("Q26:T26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("V26:Y26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AA26:AD26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AF26:AI26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AK26:AN26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AP26:AS26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AU26:AX26").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"

Range("B32:E32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("G32:J32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("L32:O32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("Q32:T32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("V32:Y32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AA32:AD32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AF32:AI32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AK32:AN32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AP32:AS32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AU32:AX32").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"

Range("B38:E38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("G38:J38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("L38:O38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("Q38:T38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("V38:Y38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AA38:AD38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AF38:AI38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AK38:AN38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AP38:AS38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AU38:AX38").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"

Range("B44:E44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("G44:J44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("L44:O44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("Q44:T44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("V44:Y44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AA44:AD44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AF44:AI44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AK44:AN44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AP44:AS44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AU44:AX44").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"

Range("B50:E50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("G50:J50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("L50:O50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("Q50:T50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("V50:Y50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AA50:AD50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AF50:AI50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AK50:AN50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AP50:AS50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AU50:AX50").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"

Range("B56:E56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("G56:J56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("L56:O56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("Q56:T56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("V56:Y56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AA56:AD56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AF56:AI56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AK56:AN56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AP56:AS56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("AU56:AX56").Select
ActiveCell.FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"

End Sub


--
Cordialement,

Michel Gaboly
http://www.gaboly.com

Avatar
Octave
Bonjour AV

Merci pour votre réponse. A la lecture, il y a une chose que je n'ai pas
comprise... c'est le "For j = 2 To 47 Step 5" et plus précisément le J=2
Mais je vais chercher, mettre en application, cela me permettra de
comprendre.

Merci encore

Octave


"AV" a écrit dans le message de
news:
Aussi, j'aurais besoin d'aide pour simplifier la macro qui suit :


Si l'on s'en tient à ce que fait ta macro.... ça pourrait faire :

Sub zzz()
For i = 8 To 56 Step 6
For j = 2 To 47 Step 5
Cells(i, j) = "=if(" & Cells(i + 1, j + 4).Address &
"=$BD$12,$BB$12,$BC$12)"
Next j
Next i
End Sub

AV





Avatar
Octave
Bonjour Jean-François Aubert,

Merci pour votre réponse, je vais tester tout ça...

"Jean-François Aubert" <à a écrit dans le message de
news:%
Salut Octave,
sub Macro4_bis()

Range("B8").FormulaR1C1 = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
Range("B8:F8").AutoFill Destination:=Range("B8:AX8"),
Type:=xlFillDefault

Range("B8:AX13").AutoFill Destination:=Range("B8:AX56"),
Type:=xlFillDefault


end sub


Merci encore pour votre rapidité

Octave

Avatar
Octave
Bonjour Michel Gaboly,

Merci pour votre réponse.

"Michel Gaboly" a écrit dans le message de
news:
La première chose à faire est de supprimer tout les Select qui
ralentissent

le traitement.
...


Je suis d'accord.

...
C'est typiquement un cas où les boucles permettent de simplifier. Il faut
ici 2 boucles imbriquées, l'une pour les lignes, l'autre pour les colonnes
:

...

J'avais bien cela en tête mais n'étant que depuis peu de temps sensibilisé
au VBA, je ne maitrise pas du tout la syntaxe.

Sub VersionCourte()
Dim i As Integer, j As Integer, Formule As String
Formule = "=IF(R[1]C[4]=R12C56,R12C54,R12C55)"
For i = 0 To 45 Step 5
For j = 0 To 48 Step 6
Range("B8").Offset(j, i).FormulaR1C1 = Formule
Next j
Next i
End Sub


C'est clair. Merci beaucoup pour cette réalisation et les explications qui
vont avec.

Octave

Avatar
AV
Merci pour votre réponse. A la lecture, il y a une chose que je n'ai pas
comprise... c'est le "For j = 2 To 47 Step 5" et plus précisément le J=2


Il s'agit de la boucle sur les colonnes par pas de 5
j = 2 c'est la col B
j = 47 c'est la col AU
Idem pour les lignes ( variable "i") par pas de 6

AV

Avatar
Octave
Bonjour AV

Je suis désolé de poser des questions qui peuvent sembler simple pour
quelqu'un expérimenté.
Mais je souhaite vraiment comprendre. Dans notre cas, maintenant tout est
clair.

Merci

Octave

"AV" a écrit dans le message de
news:
Merci pour votre réponse. A la lecture, il y a une chose que je n'ai pas
comprise... c'est le "For j = 2 To 47 Step 5" et plus précisément le
J=2



Il s'agit de la boucle sur les colonnes par pas de 5
j = 2 c'est la col B
j = 47 c'est la col AU
Idem pour les lignes ( variable "i") par pas de 6

AV






Avatar
AV
Pas de souci...
Ta démarche est tout à fait naturelle

AV
Avatar
sabatier
s'est vraiment levé d'un bon pied ce matin, l'alain...p'têt ben pour çà
qu'il pleut comme (mille) vache(s) qui pisse(nt)...
quant à l'octave, peut encore jouer quelques gammmes : sera toujours bien
reçu ici, même que philippe R va se faire un plaisir de lui envoyer le MB...
jps (pour la guerre des gaules)

"AV" a écrit dans le message de
news:O$$
Pas de souci...
Ta démarche est tout à fait naturelle

AV




1 2