<p>Considérez :</p>
<pre><code class="lang-auto">Sub add()
'This works:
Cells(1, 1) = CLng(500) * 100
'as does this:
Cells(2, 2) = 50000 * 100
End Sub
</code></pre>
<p>VBA choisissait apparemment un type par défaut <code>Integer</code> pour la première expression car ce type est suffisamment grand pour contenir les littéraux du côté droit. 50000 est trop grand pour un <code>Integer</code>, donc il l'interprète comme un <code>Long</code>. <code>CLng</code> déclenche explicitement une promotion vers <code>Long</code>.</p>