Valeur de cellule VBA – Obtenir, Définir ou Modifier

Written by

Editorial Team

Reviewed by

Steve Rynearson

Translated by

David Gagnon

Last updated on décembre 23, 2021

Ce tutoriel vous apprendra à interagir avec les valeurs des cellules en utilisant VBA.

Définir la valeur d’une cellule

Pour définir la valeur d’une cellule, utilisez la propriété Value de l’objet Range ou Cells.

Range.Value et Cells.Value

Il existe deux façons de référencer une ou plusieurs cellules en VBA :

  • Objet Range – Range(« A2 »).Value
  • Objet Cells – Cells(2,1).Value

L’objet Range vous permet de référencer une cellule en utilisant la notation standard « A1 ».

Ainsi, la valeur de la plage A2 sera fixée à 1 :

Range("A2").Value = 1

L’objet Cells vous permet de faire référence à une cellule par son numéro de ligne et de colonne.

La valeur de la plage A2 sera ainsi fixée à 1 :

Cells(2,1).Value = 1

Remarquez que vous saisissez d’abord le numéro de ligne :

Cells(Ligne_no, Col_no)

Définir les valeurs de plusieurs cellules à la fois

Au lieu de faire référence à une seule cellule, vous pouvez faire référence à une plage de cellules et modifier toutes les valeurs des cellules en une seule opération :

Range("A2:A5").Value = 1

Définir la valeur d’une cellule – Texte

Dans les exemples ci-dessus, nous avons défini la valeur de la cellule comme étant un nombre (1).  Il est également possible de définir la valeur de la cellule comme étant une chaîne de charactère (texte).  En VBA, tout texte doit être entre guillemets :

Range("A2").Value = "Texte"

Si le texte n’est pas entre guillemets, VBA pensera que vous faites référence à une variable…

Définir la valeur d’une cellule – Variable

Vous pouvez également définir une valeur de cellule égale à une variable

Dim strTexte as String
strTexte = "Chaîne de texte"

Range("A2").Value = strTexte

Obtenir la valeur d’une cellule

Vous pouvez obtenir les valeurs des cellules en utilisant la même propriété Value que celle utilisée ci-dessus.

Obtenir la valeur de la cellule active

Pour obtenir la valeur de la cellule active et l’afficher dans une boîte de message :

MsgBox ActiveCell.Value

Assigner la valeur d’une cellule à une variable

Pour obtenir la valeur d’une cellule et l’affecter à une variable :

Dim var as Variant

var = Range("A1").Value

Nous avons utilisé ici une variable de type Variant. Les variables de type Variant peuvent accepter n’importe quel type de valeur.  À la place, vous pourriez utiliser une variable de type String :

Dim var as String

var = Range("A1").Value

Une variable de type String accepte les valeurs numériques, mais elle stocke les chiffres sous forme de texte.

Si vous savez que la valeur de votre cellule sera numérique, vous pouvez utiliser un type de variable Double (les variables Double peuvent stocker des valeurs décimales) :

Dim var as Double

var = Range("A1").Value

Toutefois, si vous tentez de stocker une valeur de cellule contenant du texte dans une variable double, vous recevrez une erreur d’incompatiblité de type :

définir obtenir assigner valeur cellule

Autres exemples de valeurs de cellule

Copier la valeur d’une cellule

Il est facile de définir une valeur de cellule égale à une autre valeur de cellule (ou « Copier » une valeur de cellule) :

Range("A1").Value = Range("B1").Value

Vous pouvez même le faire avec des plages de cellules (les plages doivent avoir la même taille) :

Range("A1:A5").Value = Range("B1:B5").Value

Comparer les valeurs des cellules

Vous pouvez comparer les valeurs des cellules à l’aide des opérateurs de comparaison standards.

Testez si les valeurs des cellules sont égales :

MsgBox Range("A1").Value = Range("B1").Value

Renvoie VRAI si les valeurs des cellules sont égales. Sinon, FAUX.

Vous pouvez également créer une Instruction If pour comparer les valeurs des cellules :

If Range("A1").Value > Range("B1").Value Then

    Range("C1").Value = "Supérieur à"

ElseIf Range("A1").Value = Range("B1").Value Then

    Range("C1").Value = "Égal"

Else

    Range("C1").Value = "Inférieur à"

End If

Vous pouvez comparer du texte de la même manière (Rappelez-vous que VBA est sensible à la casse)

vba-free-addin

Module Complémentaire d'Exemples de Code VBA

Accédez facilement à tous les exemples disponibles sur le site.

Naviguez simplement dans le menu, cliquez, et le code sera inséré directement dans votre module. Module complémentaire .xlam.

(Aucune installation requise!)

Téléchargement gratuit

Retour aux exemples de code VBA