Range.Text, propriété (Excel)

Renvoie le texte mis en forme pour l’objet spécifié. String en lecture seule.

Syntaxe

expression. Text (Texte)

expression Variable représentant un objet Range.

Remarques

La propriété Texte est le plus souvent utilisée pour une plage d’une cellule. Si la plage comprend plusieurs cellules, la propriété Texte renvoie la valeur Null, sauf si toutes les cellules de la plage ont des contenus et des formats identiques.

Si le contenu de la cellule est plus large que la largeur disponible pour l’affichage, la propriété Texte modifie la valeur affichée.

Exemple de différences de propriétés

Cet exemple illustre la différence entre les propriétés Texte et Valeur de 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

Différences de largeur de texte

Les cellules contenant des valeurs numériques peuvent voir leur valeur affichée modifiée lorsque la colonne n’est pas suffisamment large. L’exemple ci-dessous montre cela en utilisant deux colonnes. La première colonne est suffisamment large pour afficher les valeurs. Un format est appliqué, puis une valeur est entrée indiquant la valeur complète. La largeur de la deuxième colonne est réduite de sorte que lorsque les cellules sont copiées, elle est trop étroite, ce qui provoque la moification 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

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.