I have a similar situation here, and for similar reasons. Excel is much more widely distributed than Access - all users in the company have Excel, but very few have Access. So I built my database in Access for me and a front end in Excel for the users. I import/export selected data from and to the Excel application from the Access side.
None of this is automatic - I control the process. I update whenever the data needs to be refreshed - so it is not a "live" connection. That is one way of controlling the risk. In my case the users do not need up to the second updates. A few times a week is sufficient - but I could do it more, obviously.
The way I handle the "risk" of having each system capable of updating the other, is by use of transfer tables on the Access end. These tables structurally replicate the actual tables that the data resides in, but are only used to hold the data going in or out. Once in, the transfer table data is processed and error-checked etc, and once validated, the "real" tables are updated in Access.
That way, when I do an update, I can control the flow of the data and validate it all before I update any of the actual data.
Check out the TransferSpreadsheet method in Access. It can be tricky but once you get all the arguments set right, it works.