I must be stupid. What is wrong with this code ?
I think the syntax should be correct !?

;======================================================
;
; function Move_PC
;
; move workstation to $targetOU
;
; Input: $target_OU
;
;======================================================

Function Move_PC ($target_OU)

Dim $objRootDSE
Dim $LDAPSourcePC
Dim $LDAPTargetOU ,$LDAPTargetPC
Dim $objSourcePC, $objTargetOU
Dim $objMovePC

$objRootDSE = GetObject("LDAP://rootDSE").Get("defaultNamingContext")

$LDAPSourcePC = "LDAP://cn=" + $computer + ",cn=Computers," + $objRootDSE
$LDAPTargetOU = "LDAP://" + $target_OU + "," + $objRootDSE
$LDAPTargetPC = "cn=" + $computer

$objSourcePC = GetObject($LDAPSourcePC)
$objTargetOU = GetObject($LDAPTargetOU)

$objMovePC = $objTargetOU.MoveHere ($objSourcePC.ADsPath,$LDAPTargetPC) ; ERROR : expected expression!

EndFunction