Comment utiliser Wrap Text n’importe où via VBA ?
Dans VBA, il existe une propriété appelée « WrapText » à laquelle vous pouvez accéder pour appliquer un texte d’habillage à une cellule ou à une plage de cellules. Vous devez écrire du code pour l’activer ou le désactiver. C’est une propriété de lecture et d’écriture, vous pouvez donc l’appliquer, ou vous pouvez également l’obtenir si elle est appliquée sur une cellule.
Dans ce didacticiel, nous examinerons différentes manières d’appliquer un texte d’habillage à l’aide d’un code VBA.
Envelopper le texte dans une cellule à l’aide de VBA
Utilisez les étapes suivantes pour appliquer Wrap Text à l’aide d’un code VBA.
- Définissez la cellule où vous souhaitez appliquer le texte d’habillage à l’aide de la propriété range .
- Tapez un point pour voir la liste des propriétés et des méthodes de cette cellule.
- Sélectionnez la propriété « WrapText » dans la liste.
- Entrez le signe égal « = » et tapez TRUE pour activer le retour à la ligne.
Sub vba_wrap_text()
Range("A1").WrapText = True
End Sub
Vous pouvez également spécifier une cellule de la manière suivante.
Cells(1, 1).WrapText = True
Envelopper le texte dans une plage de cellules
Et si vous souhaitez appliquer un texte d’habillage à une plage entière, vous devez spécifier la plage au lieu d’une seule cellule.
Range("A1:A5").WrapText = True
Vous pouvez également l’appliquer à la plage utilisée (sélection de la feuille de calcul où vous avez saisi des données) en utilisant la propriété « UsedRange ».
Worksheets("Sheet1").UsedRange.WrapText = True
ActiveSheet.UsedRange.WrapText = True
Dans la première ligne du code ci-dessus, vous avez spécifié la feuille de calcul , puis le « UsedProperty » pour envelopper le texte. Dans la deuxième ligne, vous avez la plage utilisée de la feuille active . Mais les deux lignes fonctionnent de la même manière.
Voici quelques exemples supplémentaires que vous devez connaître :
- Cellules non continues
- Ligne entière
- Colonne entière
- Plage nommée
Range("A1:A10,C1:C10").WrapText = True
Range("A:A").WrapText = True
Range("1:1").WrapText = True
Range("myRange").WrapText = True
Envelopper le texte dans toute la feuille de calcul
Pour faire référence à la feuille de calcul entière, vous devez utiliser la propriété Cells comme vous l’avez dans le code suivant.
Cells.WrapText = True
Worksheets("Sheet1").Cells.WrapText = True
La première ligne de code fait référence à la feuille active et la deuxième ligne à la feuille de calcul « Feuille1 ». Vous pouvez également utiliser une boucle en utilisant FOR EACH (For Next) pour parcourir toutes les feuilles de calcul du classeur et appliquer le texte d’habillage sur toutes les cellules.
Dim ws As Worksheet
For Each ws In ActiveWorkbook.Worksheets
Cells.WrapText = True
Next ws
Dans le code ci-dessus, vous avez « ws » en tant que variable , puis For Each Loop parcourt toutes les feuilles de calcul du classeur et s’applique pour habiller le texte de la feuille de calcul entière à l’aide de Cellules.
Désactiver WrapText
Comme vous l’avez vu, vous devez activer la propriété WrapText et, de la même manière, vous pouvez la désactiver en utilisant add déclarant FALSE.
Range("A1").WrapText = False
Remarque : Il y a une chose que vous devez comprendre si vous avez une valeur dans une cellule et que la largeur des cellules est suffisante pour stocker cette valeur, alors même si vous appliquez du texte à la ligne, Excel ne déplacera pas le contenu vers la ligne suivante .