I wish to perform a easy(?) spinning.
Here's my .htaccess:

Options +FollowSymlinks  
RewriteEngine On  
RewriteCond %{REQUEST_URI} ^/batiments-[0-9]+/?$  
RewriteRule ^batiments-([0-9]+)/?$ a_batiments.php?e=$1  

I would like this spinning: http://xyz.com/batiments-123 ==> http://xyz.com/a_batiments?e=123

I obtain just the address: http://xyz.com/a_batiments, with no argument.
Within the rewrite log, I visit a line that contains a split:

192.168..2 -(very lengthy line covered up) (3) split uri=a_batiments.php?e=123 -> uri=a_batiments.php, args=e=123

I realize the split is helpful for that matching, however the args isn't put in the address. Why? How to proceed?

Try adding the [R] flag towards the RewriteRule. This way the rewrite produces a HTTP redirection being delivered to the customer.