sélection d'une plage de cellules pour création graphique

jasserin

XLDnaute Nouveau
Bonjour,

Je créé un graphique depuis la sélection d'une plage de cellules. Cette plage de cellule est définie depuis une cellule active d'un array (A9 puis J9...).

le programme bug au niveau de la sélection de la cellule active ou de la sélection des cellules avec maplage.

pouvez vous m'aider svp ?

merci beaucoup,

jasserin
Code:
Option Explicit

Dim titre As Variant
Dim MonGraphe As ChartObject
Dim maplage As Range
Dim selection As Variant
Dim horizontal As Integer
Dim vertical As Integer

Public Sub CreationGraphe1()
horizontal = 10
vertical = 50
Dim i As Byte


titre = ThisWorkbook.Worksheets("données mensuelles").Range("h7") & " - " & ThisWorkbook.Worksheets("données mensuelles").Range("a5") & ThisWorkbook.Worksheets("données mensuelles").Range("c8")
selection = Array("A9", "j9", "s9", "a97", "j97", "s97", "a185", "j185", "s185", "a273", "j273", "s273")

For i = 0 To UBound(selection, 1)

   ThisWorkbook.Worksheets("données mensuelles").Range(selection(i)).Select
   Set maplage = ThisWorkbook.Worksheets("données mensuelles").Range(ActiveCell.Offset(14, 0), ActiveCell.Offset(0, 6))
   maplage.Select
   Set MonGraphe = ThisWorkbook.Sheets("Obj. mensuels PT").ChartObjects.Add(horizontal, vertical, 500, 300) '(position x ds la feuille, position y dans la feuille, hauteur, largeur)
    MonGraphe.Chart.SetSourceData maplage

With MonGraphe.Chart
    .HasTitle = True
   
   With .ChartTitle
      .Characters.Text = titre.Text
   End With

End With

horizontal = horizontal + 500

Next i

End Sub
 

Roland_M

XLDnaute Barbatruc
Re : sélection d'une plage de cellules pour création graphique

bonsoir,
erreur avec Titre.text ! c'est Titre as String seul !

Code:
Option Explicit
Dim Titre As String
Dim MonGraphe As ChartObject
Dim MaPlage As Range
Dim Selection As Variant
Dim Horizontal As Integer
Dim Vertical As Integer

Public Sub CreationGraphe1()
ThisWorkbook.Activate
Dim I As Integer
Horizontal = 10: Vertical = 50

With Worksheets("données mensuelles")
Titre = .Range("h7") & " - " & .Range("a5") & .Range("c8")
End With

Selection = Array("A9", "j9", "s9", "a97", "j97", "s97", "a185", "j185", "s185", "a273", "j273", "s273")
For I = 0 To UBound(Selection, 1)
   Worksheets("données mensuelles").Range(Selection(I)).Select
   Set MaPlage = Worksheets("données mensuelles").Range(ActiveCell.Offset(14, 0), ActiveCell.Offset(0, 6))
   MaPlage.Select
   Set MonGraphe = Sheets("Obj. mensuels PT").ChartObjects.Add(Horizontal, Vertical, 500, 300) '(position x ds la feuille, position y dans la feuille, hauteur, largeur)
   MonGraphe.Chart.SetSourceData MaPlage
   With MonGraphe.Chart
       .HasTitle = True
       .ChartTitle.Characters.Text = Titre
   End With
Horizontal = Horizontal + 500
Next I
End Sub
 

Misange

XLDnaute Barbatruc
Re : sélection d'une plage de cellules pour création graphique

Bonjour, hello Roland

Une question surement bête : pourquoi définir tout ça en VBA alors qu'avec tes données sous forme de tableau excel et un graphique construit avec ce tableau, c'est AUTOMATIQUEMENT dynamique ?
 

Discussions similaires

Statistiques des forums

Discussions
312 103
Messages
2 085 325
Membres
102 862
dernier inscrit
Emma35400