You are trying by winapi and this is not the easiest way.
You have two alternatives:
Or you use copy and paste method
Dim osel As Selection = CATIA.ActiveDocument.Selection
osel.Clear()
osel.Add(sketch3)
osel.Copy()
osel.Clear()
osel.Add(Plane_a)
osel.Paste()
Dim RsltSketch As Sketch = osel.Item2(1).Value
osel.Clear()
'You can delete the first one if you want
osel.Add(sketch3)
osel.Delete()
Or you define the precise vectors
Dim arrayOfVariantOfDouble(8)
arrayOfVariantOfDouble(0) = OriginPointX
arrayOfVariantOfDouble(1) = OriginPointY
arrayOfVariantOfDouble(2) = OriginPointZ
arrayOfVariantOfDouble(3) = DirectionHorizontalX
arrayOfVariantOfDouble(4) = DirectionHorizontalY
arrayOfVariantOfDouble(5) = DirectionHorizontalZ
arrayOfVariantOfDouble(6) = DirectionVerticalX
arrayOfVariantOfDouble(7) = DirectionVerticalY
arrayOfVariantOfDouble(8) = DirectionVerticalZ
sketch3.SetAbsoluteAxisData(arrayOfVariantOfDouble)