fbpx

Comment intervertir deux cellules en VBA

Aujourd’hui nous allons voir une astuce simple en VBA pour apprendre à intervertir les valeurs de deux cellules Excel. Cette astuce est importante à maitriser car modifier simultanément deux valeurs est une étape extrêmement fréquente en programmation, y compris en VBA.

1) Déclarer les variables.

Dim temporaire As Double

Nous allons avoir besoin par la suite d’une variable temporaire. Autant que possible, il faut nommer la variable de manière explicite: évitez les lettres seules (i, k,n) et préférez une courte description de la variable. C’est une bonne habitude de programmation à prendre, cela vous permettra de mieux vous rappeler à quoi sert cette variable (surtout dans le cas d’une longue macro).
Nous utilisons la commande Dim pour déclarer la variable, et nous devons également préciser le type Double qui peut contenir des nombres.

2) Stocker la valeur 1 dans la variable temporaire

temporaire = Range("B12").Value

Si nous copions directement la valeur 2  à l’emplacement de la valeur 1, la valeur 1 sera perdue. Nous allons donc utiliser la variable temporaire afin de stocker la valeur 1 entretemps.

3) Déplacer la valeur 2 dans la valeur 1

Range("B12").Value = Range("D12").Value

4) Affecter une nouvelle valeur a la Valeur 2

 Range("D12").Value = temporaire
Voici donc la macro en entier:
Sub inverser()
 Dim temporaire As Double
 temporaire = Range("B12").Value
 Range("B12").Value = Range("D12").Value
 Range("D12").Value = temporaire
 End Sub
Et voici le résultat lorsqu’elle est exécutée:
inverser deux valeurs avec une macro VBA
Lorsque l’on clique plusieurs fois de suite sur le bouton, les valeurs changent de place.
Notez que si vous écrivez une lettre a la place des nombres, la macro renverra une erreur car la variable temporaire est de type Double, ce qui signifie qu’elle ne peut contenir que des nombres.
Cette question d’avoir a modifier simultanément deux valeurs sans les supprimer est capitale dans beaucoup de problèmes de programmation, vous savez maintenant surmonter ce problème grâce a une variable temporaire.
About Docteur Excel
Tu souffres sur Excel ? Ça se soigne ! Un traitement de choc pour tous tes problèmes de tableur! Docteur Excel t'apprends à manipuler Excel avec une précision chirurgicale pour gagner un temps fou, éblouir ton patron et devenir un pro du tableur.