loading a program on the board without activating it

To load a new program on my arduino board, I have to plug it on my computer, but when do that, the last program I loaded starts running while the new program is loading.

It is very annoying, because if I want to program, for example, a robot, I have to unplug the wheels or to hold the robot of the ground while the program is loading.

Am I doing things wrong? Is there any way to load the program without activating the board?

This is expected.

You can add a criteria to your sketch so that it doesn't start until a certain condition is met.
There are plenty of options.
Add a button to your robot and initially wait for the button to be pressed before doing anything. Or add an on/off switch and just do nothing until it's in the on position.

Another method: add a button that holds Reset low.
When the IDE shows "compiled xxx of 32xxx bytes", some message like that, allow reset to go high.
The bootloader will start (assuming you have one) and look for serial messages coming to start the download sequence.

Then use perhof's solution to not have the program start until it reads the "all clear!" button after any reset.

nat_802:
To load a new program on my arduino board, I have to plug it on my computer, but when do that, the last program I loaded starts running while the new program is loading.

It is very annoying, because if I want to program, for example, a robot, I have to unplug the wheels or to hold the robot of the ground while the program is loading.

Am I doing things wrong? Is there any way to load the program without activating the board?

I have to echo the suggestion that you need to make your code more robust. When a device powers on a lot of the internal state is indeterminate. If you have motors and whatnot connected, they should be brought up in a manner where they aren't just turned on immediately, nor would some indeterminate state cause the motors to turn on automatically.

When a device powers on a lot of the internal state is indeterminate

I'm sorry, I really cannot agree with that statement.
That's why we have reset pins.

AWOL:

When a device powers on a lot of the internal state is indeterminate

I'm sorry, I really cannot agree with that statement.
That's why we have reset pins.

When I was involved in industrial control we had to build stuff so that power on (or even unexpected power cycles) didn't result in a relay or solenoid being enabled.

In this case you are saying that a HW reset on the chip will clear all digital out to known states? Fine, I accept. But this is not a universal. Defensive coding is always a good idea.

In this case you are saying that a HW reset on the chip will clear all digital out to known states?

Absolutely, all set out in the processor datasheet.

AWOL:

In this case you are saying that a HW reset on the chip will clear all digital out to known states?

Absolutely, all set out in the processor datasheet.

Things sure have changed since I had relays clicking on board hooked up to a KIM-1.

They certainly have, though I'm surprised the 6502 didn't have a well defined and documented set of reset conditions.

AWOL:
They certainly have, though I'm surprised the 6502 didn't have a well defined and documented set of reset conditions.

No, not really. Your app had to assume power-on state was indeterminate, and design hardware so that it behaved appropriately. After all, it was "just" a CPU, so there was lots of other stuff hanging off of it.