Probleme macro changement de cellule active

kentin59 -  
eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je cherche a realiser une macro (normalement assez simple) sur excel
A partir de la cellule selectionnée je voudrais
- enregistrer sa valeur
- mettre la valeur 0 en rouge et en gras dans cette cellule
- dans la cellule situé à 2 colonnes a droites et 8 lignes en dessous ajouter la valeur "stock" correspondant à la valeur de la cellule de depart
j'ai ecris le programme suivant : (erreur au niveau de l'avant derniere ligne disant : "variable objet ou bloc non etabli")

Dim STK As Integer
Dim cellstock As CellFormat

If ActiveCell.Value = 2 Then
STK = 1600
End If
If ActiveCell.Value = 3 Then
STK = 2400
End If

Selection.Font.Bold = True
Selection.Font.ColorIndex = 3
ActiveCell.FormulaR1C1 = 0

LigneAct = ActiveCell.Row + 7
ColAct = ActiveCell.Column + 2

cellstock(LigneAct, ColAct).FormulaR1C1 = "=R[-2]C-'ventas simu'!R[-3]C[-1]+ 1600"cellstock(LigneAct, ColAct).Interior.ColorIndex = 39

merci beaucoup d'avance pour votre aide
A voir également:

2 réponses

eriiic Messages postés 25847 Date d'inscription   Statut Contributeur Dernière intervention   7 282
 
Bonjour,

tu peux utiliser .offset(ligne,colonnes) qui te fait un décalage.
ex:
activecell.offset(7,2).value = stk
ou
activecell.offset(7,2).formula = ... (ta formule est un peu incompréhensible, dis précisément ce que tu veux y mettre, j'ai plus l'impression que c'est une valeur calculée et non une formule)
ou si tu veux la sélectionner :
activecell.offset(7,2).select

eric
1
RailBird
 
Dim STK As Integer
Dim cellstock As CellFormat

If ActiveCell.Value = 2 Then
STK = 1600
End If
If ActiveCell.Value = 3 Then
STK = 2400
End If

Selection.Font.Bold = True
Selection.Font.ColorIndex = 3
ActiveCell.FormulaR1C1 = 0

LigneAct = ActiveCell.Row + 7
ColAct = ActiveCell.Column + 2

ActiveSheet.Cell(LigneAct, ColAct).FormulaR1C1 = "=R[-2]C-'ventas simu'!R[-3]C[-1]+ 1600"
ActiveSheet.Cell(LigneAct, ColAct).Interior.ColorIndex = 39
0