Zen style » Blog » Créer et formater une zone de texte Excel avec VBA

Travailler avec des graphiques et des rapports dans Excel peut être difficile et prendre beaucoup de temps. Si vous passez du temps à générer des rapports à partir d'une feuille de calcul existante, vous pouvez utiliser des zones de texte pour améliorer l'aspect et la convivialité d'un rapport.

Cet article présente la technique d'utilisation de VBA pour personnaliser la création de rapports de données en positionnant une zone de texte directement sous un graphique et en définissant une taille appropriée.

Créer le graphique avec VBA

Commencez par créer un graphique simple à partir de données existantes. La table de données pourrait ressembler à ceci:


Names Sales
John 98
Maria 122
Henri 120
Mary 102
Peter 85
Jacques 130
Mary 100

Pour créer un graphique, vous pouvez utiliser ce code:


Charts.add

With ActiveChart
.SetSourceData Source:=Sheets("examples").Range("A1:B8")
.Location Where:=xlLocationAsObject, Name:="sheet 1"

End With

Pour positionner le graphique à côté de la marge de gauche, définissez la propriété de gauche comme suit:


activeChart.parent.left=20

Création et positionnement de la zone de texte

Avec le graphique en place, vous êtes prêt à ajouter du texte, mais le code doit d'abord savoir où le positionner. Nous aimerions placer la boîte directement en-dessous et dans l'alignement du bord gauche du graphique afin que nous ayons besoin de connaître certaines dimensions.

  • La distance du haut de l'écran
  • La hauteur de la carte
  • À quelle distance se trouve-t-il à gauche de la page

Nous pouvons ensuite coder les valeurs pour définir les dimensions et la position.

boxTop = c.Parent.top + c.Parent.Height + 5

boxLeft = c.Parent.left

boxHeight = 35

boxWidth = c.Parent.Width

Avec les valeurs définies, nous pouvons maintenant créer la zone de texte. La première valeur, "1" aligne le texte horizontalement et la valeur finale "60" définit la hauteur qui peut être ajustée pour répondre à vos besoins.


ActiveSheet.Shapes.AddTextbox(1, boxLeft, boxTop, boxWidth, 60).Select

Une fois que le code complet est exécuté, la zone de texte doit apparaître juste en dessous du graphique et avoir la même largeur. Beaucoup d'autres fonctions d'édition sont disponibles avec VBA. Par exemple, inclure le code suivant écrira la date du jour dans un format court.


Selection.Characters.Text = "Report for " & Format(Now(), "dd/mm/yyyy")

En plus de positionner et de dimensionner correctement, vous pouvez utiliser VBA pour extraire des informations à utiliser comme étiquette ou pour mettre en surbrillance des données.

Résumé

Tandis qu'Excel fournit les outils pour créer des rapports et des graphiques, certaines connaissances de base de VBA et de la personnalisation peuvent rendre votre travail Excel plus efficace et professionnel.

4.3 (76%) 23 votes

Vous aimerez aussi :

(Visited 2 times, 1 visits today)