Probleme macro changement de cellule active
kentin59
-
eriiic Messages postés 25847 Date d'inscription Statut Contributeur Dernière intervention -
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
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:
- Probleme macro changement de cellule active
- Changement dns - Guide
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Changement d'heure - Guide
- Proteger cellule excel - Guide
- Comment activé - Guide
2 réponses
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
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
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
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