If your horn only works when the lights are off or the dashboard back lights are set very low. Then it sound like a bad ground connection to the steering wheel buttons, after the horn the radio Vol+ is the next to fail.
The following fix is to disconnect the steering wheel switch backlights.
Remove the right hand side radio controls from your steering wheel (remove T20 screw from back of steering wheel, then pull the panel out).
Unplug the 6 pin connector from the panel.
Using a small screwdriver or pin push out connectors pins 4 & 5 from the connection block. The 6 wires are in 2 bunches of 2 and 4 wires, pin 1 is at the 2 wire end. Then separately tape these wires so they do not touch each other.
Re-connect the connector, and then you should have a horn that works when the dash board lights are at maximum.
At least this fixed the problem for me and I'm not going to miss those weak almost invisible lights on the steering wheel switches.
Simon
March 2010