I see two possible improvements:
- let the visual basic program specify an arbitrary angle instead of just a character which maps to a predefined set of angles;
- have a "set" command which the VB program would use to make the motor run to a specified angle, and a "get" which would return the angle of the last "set" command (in simpler words: "set" motor position, "get" current motor position).
Just my 2 cents...

yeah that can be easily done and it's a good idea, I might try do that soon or something similar as you said for a pan tilt with a camera. So I can control the camera to rotate for wherever I want.
currently I’m finishing 3 projects
I’ve also formatted windows 7 yesterday and installed ubuntu so i don't have visual basic at the moment.
Thanks again for your advice I really appreciate !