CellEvaluationFunction might be what you are looking for.
The following creates a notebook where evaluating the first cell gives a result
similar to a typical evaluation. Evaluating the second cell gives a result with
"Input" style instead. Evaluation the third cell gives a result with "Text" style.
CreateDocument[Notebook[{
Cell[BoxData[RowBox[{"2", " ", "3"}]], "Input",
CellEvaluationFunction -> (NotebookWrite[EvaluationNotebook[],
Cell[BoxData[ToString[ToExpression[#]]], "Output"]] &)],
Cell[BoxData[RowBox[{"2", " ", "3"}]], "Input",
CellEvaluationFunction -> (NotebookWrite[EvaluationNotebook[],
Cell[BoxData[ToString[ToExpression[#]]], "Input"]] &)],
Cell[BoxData[RowBox[{"2", " ", "3"}]], "Input",
CellEvaluationFunction -> (NotebookWrite[EvaluationNotebook[],
Cell[ToString[ToExpression[#]], "Text"]] &)]
}]]
You should be able to add CellEvaluationFunction to your 'myInputStyle' style and specify the 'myOutputStyle' style in the corresponding NotebookWrite[].