Propriété Range.Value (Excel)

Renvoie ou définit une valeur Variante qui représente la valeur de la plage spécifiée.

Syntaxe

expression. Value (RangeValueDataType)

expression Variable représentant un objet Range.

Paramètres

Nom Requis/Facultatif Type de données Description
RangeValueDataType Facultatif Variant type de données de valeur de plage. Il peut s’agir d’une constante XlRangeValueDataType .

Remarques

Lors de la définition d'une page de cellules avec le contenu d'un fichier de feuille de calcul XML, seules les valeurs de la première feuille du classeur sont utilisées. Vous ne pouvez pas définir ou obtenir une plage discontinue de cellules au format de feuille de calcul XML.

Le membre par défaut de Range transfère les appels sans paramètres à Value. Par conséquent, someRange = someOtherRange est équivalent à someRange.Value = someOtherRange.Value.

Pour les plages dont la première zone contient plusieurs cellules, Value renvoie un Variant contenant un tableau à 2 dimensions des valeurs des cellules individuelles de la première plage.

L’affectation d’un tableau à 2 dim à la propriété Value copie les valeurs dans la plage en une seule opération. Si la plage cible est supérieure au tableau, les cellules restantes reçoivent une valeur d’erreur.

L’affectation d’un tableau à une plage à plusieurs zones n’est pas correctement prise en charge et doit être évitée.

Exemple

Cet exemple montre comment définir la valeur 3.14159 de la cellule A1 de la feuille Sheet1 du classeur actif.

Worksheets("Sheet1").Range("A1").Value = 3.14159

Cet exemple montre comment effectuer une boucle sur les cellules A1:D10 de la feuille Sheet1 du classeur actif. Si l’une des cellules a une valeur inférieure à 0,001, le code remplace la valeur par 0 (zéro).

For Each cell in Worksheets("Sheet1").Range("A1:D10") 
   If cell.Value < .001 Then 
      cell.Value = 0 
   End If 
Next cell

Cet exemple montre comment effectuer une boucle sur les valeurs de la plage A1:CC5000 de la feuille Sheet1. Si l’une des valeurs est inférieure à 0,001, le code remplace la valeur par 0 (zéro). Enfin, il copie les valeurs dans la plage d’origine.

Public Sub TruncateSmallValuesInDataArea()
   Dim dataArea As Excel.Range
   Set dataArea = ThisworkBook.Worksheets("Sheet1").Range("A1:CC5000")
   
   Dim valuesArray() As Variant
   valuesArray = dataArea.Value
   
   Dim rowIndex As Long
   Dim columnIndex As Long
   For rowIndex = LBound(valuesArray, 1) To UBound(valuesArray, 1)
      For columnIndex = LBound(valuesArray, 2) To UBound(valuesArray, 2)
	     If valuesArray(rowIndex, columnIndex) < 0.001 Then
		    valuesArray(rowIndex, columnIndex) = 0
		 End If 
	  Next
   Next
   
   dataArea.Value = valuesArray
End Sub

Assistance et commentaires

Avez-vous des questions ou des commentaires sur Office VBA ou sur cette documentation ? Consultez la rubrique concernant l’assistance pour Office VBA et l’envoi de commentaires afin d’obtenir des instructions pour recevoir une assistance et envoyer vos commentaires.