Enregistrer groupe forme en image VBA
elpiaf
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
elpiaf -
elpiaf -
Bonjours, tout d'abord je tiens à m'excuser si la question a déjà été posée sur le forum mais si c'est le cas je ne l'ai pas trouvé.
Mon problème est : j'ai créé un graphique à l'aide de forme automatique (rectangle , ligne , etc) . Ce graphique apparait dans une feuille excel, et je voudrait pouvoir enregistrer toutes ces formes au format image pour pouvoir l'insérer dans une Image.picture.
J'espère avoir été assez clair , voici un bout de mon code pour mieux visualiser la création de mon graphique.
For i = 0 To compteur - 1
k = 0
For n = 0 To compteur2 - 1
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 145 + k, i * 30, 2 * tprct(i, n), 20).Select
Selection.ShapeRange.Fill.ForeColor.RGB = tclr(n)
Selection.ShapeRange.Line.ForeColor.RGB = RGB(0, 0, 0)
Selection.ShapeRange.Line.Weight = 1
k = k + 2 * tprct(i, n)
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 393, n * 15, 10, 10).Select
Selection.ShapeRange.Fill.ForeColor.RGB = tclr(n)
Selection.ShapeRange.Line.ForeColor.RGB = RGB(0, 0, 0)
Selection.ShapeRange.Line.Weight = 1
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 405, n * 15, 100, 12).Select
Selection.Characters.Text = t4(n)
Selection.HorizontalAlignment = xlCenter
Selection.VerticalAlignment = xlCenter
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 30, i * 30, 100, 20).Select
Selection.Characters.Text = t3(i)
Selection.HorizontalAlignment = xlCenter
Selection.VerticalAlignment = xlCenter
Next
Next
With ActiveSheet.Shapes.AddLine(145, 0, 145, compteur * 30).Line
.Weight = 2
.ForeColor.RGB = RGB(51, 51, 51)
End With
With ActiveSheet.Shapes.AddLine(145, compteur * 30, 345, compteur * 30).Line
.Weight = 2
.ForeColor.RGB = RGB(51, 51, 51)
End With
k = 0
For i = 145 To 345 Step 40
With ActiveSheet.Shapes.AddLine(i, compteur * 30, i, compteur * 30 + 3).Line
.Weight = 1
.ForeColor.RGB = RGB(51, 51, 51)
End With
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, i - 17, compteur * 30 + 10, 39, 20).Select
Selection.Characters.Text = k & "%"
Selection.HorizontalAlignment = xlLeft
k = k + 20
Next
Mon problème est : j'ai créé un graphique à l'aide de forme automatique (rectangle , ligne , etc) . Ce graphique apparait dans une feuille excel, et je voudrait pouvoir enregistrer toutes ces formes au format image pour pouvoir l'insérer dans une Image.picture.
J'espère avoir été assez clair , voici un bout de mon code pour mieux visualiser la création de mon graphique.
For i = 0 To compteur - 1
k = 0
For n = 0 To compteur2 - 1
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 145 + k, i * 30, 2 * tprct(i, n), 20).Select
Selection.ShapeRange.Fill.ForeColor.RGB = tclr(n)
Selection.ShapeRange.Line.ForeColor.RGB = RGB(0, 0, 0)
Selection.ShapeRange.Line.Weight = 1
k = k + 2 * tprct(i, n)
ActiveSheet.Shapes.AddShape(msoShapeRectangle, 393, n * 15, 10, 10).Select
Selection.ShapeRange.Fill.ForeColor.RGB = tclr(n)
Selection.ShapeRange.Line.ForeColor.RGB = RGB(0, 0, 0)
Selection.ShapeRange.Line.Weight = 1
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 405, n * 15, 100, 12).Select
Selection.Characters.Text = t4(n)
Selection.HorizontalAlignment = xlCenter
Selection.VerticalAlignment = xlCenter
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, 30, i * 30, 100, 20).Select
Selection.Characters.Text = t3(i)
Selection.HorizontalAlignment = xlCenter
Selection.VerticalAlignment = xlCenter
Next
Next
With ActiveSheet.Shapes.AddLine(145, 0, 145, compteur * 30).Line
.Weight = 2
.ForeColor.RGB = RGB(51, 51, 51)
End With
With ActiveSheet.Shapes.AddLine(145, compteur * 30, 345, compteur * 30).Line
.Weight = 2
.ForeColor.RGB = RGB(51, 51, 51)
End With
k = 0
For i = 145 To 345 Step 40
With ActiveSheet.Shapes.AddLine(i, compteur * 30, i, compteur * 30 + 3).Line
.Weight = 1
.ForeColor.RGB = RGB(51, 51, 51)
End With
ActiveSheet.Shapes.AddTextbox(msoTextOrientationHorizontal, i - 17, compteur * 30 + 10, 39, 20).Select
Selection.Characters.Text = k & "%"
Selection.HorizontalAlignment = xlLeft
k = k + 20
Next
A voir également:
- Enregistrer groupe forme en image VBA
- Comment créer un groupe whatsapp - Guide
- Audacity enregistrer son pc - Guide
- Mise en forme conditionnelle excel - Guide
- Sous groupe whatsapp - Accueil - WhatsApp
- Image iso - Guide
4 réponses
Bonjour,
Il serait plus simple de tester « un bout de mon code pour mieux visualiser la création de mon graphique » si celui-ci fonctionnait !
Il serait plus simple de tester « un bout de mon code pour mieux visualiser la création de mon graphique » si celui-ci fonctionnait !
Bonsoir,
une capture écran toute simple ça ne le fait pas ?
Car à part les graphiques qu'on peut exporter en .gif ou .jpg il n'y a pas grand chose...
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.
une capture écran toute simple ça ne le fait pas ?
Car à part les graphiques qu'on peut exporter en .gif ou .jpg il n'y a pas grand chose...
eric
Jamais tu ne répondras à un mp non sollicité...
Bon, ça c'est fait.