I have the same problem on mine which I still haven't managed to fix.
The speedo is electronic ie no mechanical speedo cable. Failures can be the instrument cluster or the speedo transducer at the transmission.
I bought a secondhand instument cluster off ebay and swapped with mine, speedo still didn't work! These clusters can be expensive, I've seen used ones on ebay reach £200 plus. Citroen Synergie and Peugeot ones will fit perfectly. There are different versions however depending on car spec. Some have oil level guage and some have ext temp display. There may be a difference in calibration between diesel and petrol models - a dealer should be able to confirm or deny this.
The tranducer on transmission is very difficult to reach, easiest if you can get the car on a hydraulic lift say at a friendly tyre dealer or the like.
Externally, it's made from a beige coloured nylon/plastic screwed/bolted (Torx fitting I think) to the rear face of gearbox/transmission. There is an electrical plug going in (standard type with the spring wire clip). This has 3 terminals.
When transducer is removed from transmission, you should see a nylon? gearwheel on opposite side of transducer to the electrical connection, this is a separate item so take car not to loose when removing. If you end up fitting a replacement, you may find you need to re-use this gearwheel. You may be lucky and find electrical connection has come undone or needs cleaning. If not, the only way of testing I can think of is to try an connect cordless drill to the transducer and with ignition on use drill to turn transducer drive and see if speedo needle moves.
The transducer works on the Hall Effect principal and with my limited knowledge this sends an electrical signal to instument cluster electronics where it is mathematically integrated via an Integrated Cicuit chip into a suitable output to drive speedo needle. I don't know how to check this signal.
I have yet to gain access to mine so I can't be more specific.
I could e-mail you a picture of a transducer from a Citroen XM (almost identical) if that would help (I would need e-mail address).
Occassionally, I have seen transducers on ebay. Best source I find is under Peugeot 806.
Hope this helps a bit and good luck. If you fix yours before I fix mine, I'd love to know the solution.
When I have fixed mine, I may have an instrument cluster for sale. It's for a petrol model but it does not have the oil level guage or external temp display.