Range.Text, propriété (Excel)
Renvoie le texte mis en forme pour l’objet spécifié. String en lecture seule.
expression. Texte
expression Variable représentant un objet Range.
La propriété Text est le plus souvent utilisée pour une plage d’une cellule. Si la plage comprend plusieurs cellules, la propriété Text renvoie null, sauf si toutes les cellules de la plage ont un contenu et des formats identiques.
Si le contenu de la cellule est plus large que la largeur disponible pour l’affichage, la propriété Text modifie la valeur affichée.
Cet exemple illustre la différence entre les propriétés Text et Value des cellules qui contiennent des nombres mis en forme.
Option Explicit
Public Sub DifferencesBetweenValueAndTextProperties()
Dim cell As Range
Set cell = Worksheets("Sheet1").Range("A1")
cell.Value = 1198.3
cell.NumberFormat = "$#,##0_);($#,##0)"
MsgBox "'" & cell.Value & "' is the value." 'Returns: "'1198.3' is the value."
MsgBox "'" & cell.Text & "' is the text." 'Returns: "'$1,198' is the text."
End Sub
La valeur affichée des cellules contenant des valeurs numériques peut être modifiée lorsque la colonne n’est pas assez large. L’exemple ci-dessous le montre à l’aide de deux colonnes. La première colonne est suffisamment large pour afficher les valeurs. Un format est appliqué, puis une valeur entrée indiquant la valeur complète. La largeur de la deuxième colonne est réduite de telle sorte que, lorsque les cellules sont copiées, elle est trop étroite, ce qui entraîne la moïse de la valeur affichée.
Public Sub TextWidthDifferences()
Dim wideColumn As Range
Set wideColumn = Sheet1.Range("B2")
wideColumn.Value = "Wide Enough Column"
wideColumn.Columns.AutoFit
Sheet1.Range("B3").Value2 = 123456789
Const CurrencyWith2DecimalsFormat As String = "$#,##0.00"
Dim currencyCell As Range
Set currencyCell = Sheet1.Range("B4")
currencyCell.Value2 = 1234.56
currencyCell.NumberFormat = CurrencyWith2DecimalsFormat
Dim narrowColumn As Range
Set narrowColumn = Sheet1.Range("C2")
narrowColumn.Value = "Reduced Width Column"
narrowColumn.ColumnWidth = 7.5
Sheet1.Range("B3:B4").AutoFill Destination:=Sheet1.Range("B3:C4"), Type:=XlAutoFillType.xlFillDefault
Debug.Print Sheet1.Range("C3").Text
Debug.Print Sheet1.Range("C4").Text
End Sub
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.