Routers route between different IP subnets, even if those exist within the very same L2 segment (router-on-a-stick). There's no need for translation, just forwarding in between is sufficient.
If you did translate without router that would require splitting the L2 segment in order to force all traffic through the (bridging) translator. NAT without routing does exist but there's little use for it.
EDIT With a NAT router you could construct a - rather elaborate - SNAT/DNAT scheme that would translate the IP addresses for "remote" devices (those already migrated for old address devices and those not yet migrated for new address devices). If you actually wanted to be able to move every single device without any loss of connectivity (apart from reboot) you'd need to adjust that scheme while the device is rebooting. I don't think there's a ways to have it adapt automatically unless you whip up some significant code. After all, the scheme would need to "know" whether a device currently responds to A.A.A.x or B.B.B.x. /EDIT
Another strategy is to temporarily use both, new and old, addresses on the devices. Once you've migrated everything you remove the old addresses.
EDIT2 While you're at it: a common problem with renumbering a network is the heavy use of static, locally configured addresses. Consider using centrally controlled DHCP addresses where you could very easily control an adress change in one place. In yet another strategy, you could in-place migrate to DHCP-controlled addresses and then (with a short lease time) change them all at once. /EDIT2
A.A.A.3
toB.B.B.4
. You seem to have an X-Y Problem.