Ce didacticiel montrera comment utiliser VBA pour centrer le texte dans une cellule à la fois horizontalement et verticalement.
Nous pouvons utiliser le groupe Alignement dans le ruban d'accueil dans Excel pour centrer le texte horizontalement et verticalement dans une cellule. Si nous écrivons une macro pour formater du texte, nous pouvons recréer cette fonctionnalité à l'aide du code VBA.
Centrer le texte horizontalement
Pour centrer le texte horizontalement dans une seule cellule, nous pouvons utiliser le code suivant :
123 | Sous CenterText()ActiveCell.HorizontalAlignment = xlCenterFin du sous-marin |
Alternativement, pour centrer le texte horizontalement dans chaque cellule d'une plage de cellules sélectionnée, nous pouvons utiliser l'objet Selection et procéder comme suit :
123 | Sous CenterText()Selection.HorizontalAlignment = xlCenterFin du sous-marin |
Nous pouvons également modifier l'alignement à droite ou à gauche en utilisant le xlGauche et xlDroite constantes.
Pour aligner à droite le texte dans une cellule, on peut donc utiliser le code suivant :
123 | Sous RightAlignText()ActiveCell.HorizontalAlignment = xlRightFin du sous-marin |
Centrer le texte verticalement
Centrer le texte verticalement est sensiblement le même qu'horizontalement.
123 | Sous CenterTextVertical()ActiveCell.VerticalAlignment = xlCenterFin du sous-marin |
Tout comme le centrage du texte verticalement sur une sélection :
123 | Sous CenterTextVertically()Selection.VerticalAlignment = xlCenterFin du sous-marin |
Nous pouvons également changer le texte en haut ou en bas d'une cellule ou d'une sélection en utilisant le xlHaut ou xlBas constantes.
123 | Sub TopAlignVertically()ActiveCell.VerticalAlignment = xlTopFin du sous-marin |
Centrer le texte horizontalement et verticalement en même temps
Si nous voulons centrer le texte à la fois horizontalement et verticalement, nous pouvons le faire de plusieurs manières.
1234 | Sous CentreBoth()ActiveCell.HorizontalAlignment = xlCenterActiveCell.VerticalAlignment = xlCenterFin du sous-marin |
Alternativement, pour réduire la répétition du code, nous pouvons utiliser une instruction With et End With.
123456 | Sous CenterBoth2()Avec sélection.HorizontalAlignment = xlCenter.VerticalAlignment = xlCenterTerminer parFin du sous-marin |
Le code ci-dessus s'appliquera à toutes les cellules d'Excel sélectionnées à ce moment-là.
L'utilisation de With et End With est très efficace lorsque nous avons beaucoup de mise en forme à faire dans la sélection, comme la fusion de cellules ou le changement d'orientation.
12345678 | Sous-FusionEtCentre()Avec sélection.HorizontalAlignment = xlCenter.VerticalAlignment = xlBottom.Orientation = -36.MergeCells = TrueTerminer parFin du sous-marin |