You have a few alternatives, most likely the culprit is a malfunctioning ignition switch, there are 2 wires inside that tend to break loose and thus not sending a signal to the PCM to start the car. Your key has a built in pellet which is already set with a predetermined resistor, for proper start up those two wires have to come in contact with the pellet at the same time.
1. you either order a new igniton cylinder and have the dealer make you new sets of keys, most expensive... or
2. bypass the theft deterrent system and splice in a same value resistor between the 12 and 13 position wire (the last two on that row) on the wire harness running from the steering wheel column. You will loose the cheap factory alarm but at least you will start the car every time. BTW, this subject has been covered here before, next time use the search button, there is a detailed explanation on doing this.
1. you either order a new igniton cylinder and have the dealer make you new sets of keys, most expensive... or
2. bypass the theft deterrent system and splice in a same value resistor between the 12 and 13 position wire (the last two on that row) on the wire harness running from the steering wheel column. You will loose the cheap factory alarm but at least you will start the car every time. BTW, this subject has been covered here before, next time use the search button, there is a detailed explanation on doing this.