Bonjour le Forum,
Voici mon code qui pose soucis, j'ai essayé de remplacer la cellule A2 par A$2, $A2, RC(-1),... mais rien ni fait. Le but est que le A2 se transforme en A3 dans la ligne suivante, A4 .... ainsi de suite.
Sub stocks()
Dim J As Long, Ligne As Long
Dim F1 As Worksheet, F2 As Worksheet
'inventaire stock
Range("A2:D" & Rows.Count).ClearContents
Application.ScreenUpdating = False
Ligne = 1
Set F1 = Sheets("mouvements")
For J = 5 To F1.Range("a" & Rows.Count).End(xlUp).Row
Range("A" & Ligne + 1).Formula = "=IF('" & F1.Name & "'!$b$" & J & ">=k1,0,IF('" & F1.Name & "'!$R$" & J & "=0,0,'" & F1.Name & "'!$a$" & J & "))"
Range("B" & Ligne + 1).Formula = "=IF([color=#FFFF00]A2[/color]=0,"""",'" & F1.Name & "'!$b$" & J & ")"
Range("C" & Ligne + 1).Formula = "=IF([b][b][color=#FFFF00]A2[/color][/b][/b]=0,"""",'" & F1.Name & "'!$h$" & J & ")"
Range("d" & Ligne + 1).Formula = "=IF([color=#FFFF00]A2[/color]=0,"""",'" & F1.Name & "'!$i$" & J & ")"
Ligne = Ligne + 1
Next J
End Sub
Merci
Titouan
Désolé, mais j'arrive pas à surligner. Nouvel essai
Sub stocks()
Dim J As Long, Ligne As Long
Dim F1 As Worksheet, F2 As Worksheet
'inventaire stock
Range("A2:D" & Rows.Count).ClearContents
Application.ScreenUpdating = False
Ligne = 1
Set F1 = Sheets("mouvements")
For J = 5 To F1.Range("a" & Rows.Count).End(xlUp).Row
Range("A" & Ligne + 1).Formula = "=IF('" & F1.Name & "'!$b$" & J & ">=k1,0,IF('" & F1.Name & "'!$R$" & J & "=0,0,'" & F1.Name & "'!$a$" & J & "))"
Range("B" & Ligne + 1).Formula = "=IF(a2=0,"""",'" & F1.Name & "'!$b$" & J & ")"
Range("C" & Ligne + 1).Formula = "=IF(A2=0,"""",'" & F1.Name & "'!$h$" & J & ")"
Range("d" & Ligne + 1).Formula = "=IF(A2=0,"""",'" & F1.Name & "'!$i$" & J & ")"
Ligne = Ligne + 1
Next J
End Sub