Macro pour intégration des graphiques dans une feuille de calcul, Excel VBA

L’exemple suivant est un peu plus complet. Les tâches suivantes doivent être effectuées:

    Insérer un graphique à un point spécifique

    Mettre en forme le graphique inséré

    Changer la position du graphique inséré

    Vérifie si les graphiques insérés se trouvent dans une certaine zone

Insérer un graphique Démarrez la tâche en insérant un formulaire automatique à partir de la barre d’outils DRAW, à savoir un rectangle sur votre tableau. Pour ce faire, utilisez la macro .

Sub Insertgraphic ()

Dim shp as shape

Set shp = ActiveSheet.Shapes.AddShape _

(msoShapeRectangle, 283, 197, 72, 47)

With shp

  .Fill.ForeColor.SchemeColor = 26

End With

End Sub

Insérez d’abord un objet Shape à l’aide de la méthode AddShape. Entrez msoShapeRectangle comme constante pour insérer un rectangle. Vous pouvez découvrir les autres types de formes automatiques disponibles dans l’aide en ligne. Les arguments suivants déterminent la position sur la table en points auxquels le graphique doit être inséré. Les deux premiers arguments représentent le coin supérieur gauche du graphique, les deux derniers arguments déterminent la largeur et la hauteur du graphique inséré. Formatez ensuite l’arrière-plan du graphique inséré avec la couleur jaune clair. Pour ce faire, utilisez la propriété SchemeColor et attribuez à cette propriété la valeur 26 (pour le jaune clair).

Graphique de position

Vous avez déjà déterminé la position du graphique dans le tableau lors de l’insertion du graphique. Vous avez donné la position en points, ce n’est certes pas si facile de déduire les cellules associées à partir de points. Pour déplacer un graphique inséré sur le tableau, vous pouvez également travailler spécifiquement avec des positions de cellule. La macro déplace le graphique inséré exactement de sorte que le coin supérieur gauche du graphique soit exactement sur la cellule C5.

Sub positionergraphique()

Dim shp as shape

Dim s As String

  For Each shp In ActiveSheet.Shapes

   If shp.Type = msoAutoShape Then s = shp.Name

  Next shp

  Set shp = Worksheets ("Feuil2"). Shapes (s)

  shp.Top = Range ("C5"). Top

  shp.Left = Range ("C5"). Left

End Sub

Dès le début de la macro, vous avez le problème que vous devez obtenir les bons graphiques. Pour Excel, tous les éléments insérés tels que les boutons, les formes automatiques, etc. sont appelés formes. Vous devez maintenant déterminer le type de forme de votre rectangle. Pour ce faire, interrogez toutes les formes insérées dans la table. Votre AutoForm inséré est identifié par la constante msoAutoshape. Si cela se trouve dans le tableau, enregistrez le nom de la forme dans la variable s. Pour ce faire, utilisez la propriété Name. Vous utilisez les propriétés Left et Top pour déterminer où l’objet Shape doit être positionné dans votre tableau.

S’abonner
Notifier de
0 Commentaires
Inline Feedbacks
Voir tous les commentaires

Initiation à Excel

Fonctions Excel

Excel VBA

Macros VBA Utiles

Plus d'outils

Sur Facebook

Sur YouTube

0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x