To get a Steelix, making it hold a Metal Coat
Onix > trade w/ Metal Coat > Steelix
Trade it whilst it is holding a Metal Coat.
You must Trade Onix while it is holding a Metal Coat in order to Evolve into a Steelix.
ONIX DOES NOT EVOLVE BY LEVEL! To evolve Onix, equip a Metal Coat and trade it over to another game. Find trade evolutions frustrating? You can just trade any Pokemon for Jasmine's Steelix.
There is no such thing as a Crystal Onix. It only exist in the anime.
You can find onix in the cave which takes you from the 1st gym town to the 2nd, sorry for not knowing the name, my game is frozen :) (second addition to answer) Go to Violet City...There is a house in the bottom Left of the town. The Nerd with the glasses will give you an Onix if you trade with him...The Onix's name will be Rocky, at it will be at whatever level the Pokemon you traded him was.
You can only get an "onix" in Pokemon sapphire if you have a Pokemon version that has an onix then use a linking cable with other GBA to trade it and then you'll have an onix but "onix's" data can't be stored in your pokedex.NOTE:You can only trade with a Pokemon version that have the same region as your Sapphire has;HOENN REGION.
get the metel coat give it to onix and then trade it
Mt. Silver, Victory road......most caves
Unfortunately, you can't get an Onix in Pokemon Emerald. To have your own Onix, you need to trade it from FireRed or LeafGreen. Hope I helped :)
Onix evolves into Steelix when you trade Onix while holding a metal coat.
Trade Onix with the steel coat item to evolve it.