Selection données VBA
Fermé
froosties
-
5 janv. 2017 à 14:34
ccm81 Messages postés 10907 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 janvier 2025 - 6 janv. 2017 à 17:28
ccm81 Messages postés 10907 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 24 janvier 2025 - 6 janv. 2017 à 17:28
A voir également:
- Selection données VBA
- Fuite données maif - Guide
- Supprimer les données de navigation - Guide
- Trier des données excel - Guide
- La zone de données passée à un appel système est insuffisante - Windows 11
- Reinstaller windows sans perte de données - Guide
4 réponses
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 430
Modifié par ccm81 le 5/01/2017 à 15:57
Modifié par ccm81 le 5/01/2017 à 15:57
Bonjour
un petit exemple qui définit les plages de données d'un graphique de type nuage de points
Cdlmnt
un petit exemple qui définit les plages de données d'un graphique de type nuage de points
Public Sub OK()
Dim gr As Object
Dim plageX As String, plageY As String, a As Long, b As Long
a = 3
b = 10
plageX = "E" & a & ":" & "E" & b
plageY = "F" & a & ":" & "F" & b
Set gr = ActiveSheet.ChartObjects(1).Chart
With gr.SeriesCollection(1)
.XValues = Range(plageX)
.Values = Range(plageY)
End With
End Sub
Cdlmnt
Ce n'est pas exactement la réponse que j'attendais, dans ton exemple les colonnes sont fixées (F et E). Dans mon cas ce sont des variables.
Mon code "test" :
Set A=Range(.Cells(borne1,colonne1),.Cells(borne2,colonne1):.Cells(borne1,colonne2),.Cells(borne2,colonne2))
Charts.Add
ActiveChart.ChartType = xlXYScatterSmooth
ActiveChart.SetSourceData Source:=A, PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsNewSheet
ActiveChart.Move After:=Sheets(Sheets.Count)
ActiveChart.HasLegend = True
Mon A=Range ne marche toujours pas...
J'ai voulu contourner le probleme en copiant les 2 "bouts" de colonnes de ma plage de donnée sur une feuille afin de pouvoir les sélectionner ensemble(vu qu'elles seraient alors collées et à la ligne 1).
Cependant je n'arrive toujours pas a selectionner uniquement un "fragment" d'une colonne pour finaliser ce "bricolage"....
Mon code "test" :
Set A=Range(.Cells(borne1,colonne1),.Cells(borne2,colonne1):.Cells(borne1,colonne2),.Cells(borne2,colonne2))
Charts.Add
ActiveChart.ChartType = xlXYScatterSmooth
ActiveChart.SetSourceData Source:=A, PlotBy:=xlColumns
ActiveChart.Location Where:=xlLocationAsNewSheet
ActiveChart.Move After:=Sheets(Sheets.Count)
ActiveChart.HasLegend = True
Mon A=Range ne marche toujours pas...
J'ai voulu contourner le probleme en copiant les 2 "bouts" de colonnes de ma plage de donnée sur une feuille afin de pouvoir les sélectionner ensemble(vu qu'elles seraient alors collées et à la ligne 1).
Cependant je n'arrive toujours pas a selectionner uniquement un "fragment" d'une colonne pour finaliser ce "bricolage"....
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 430
5 janv. 2017 à 18:35
5 janv. 2017 à 18:35
les colonnes sont fixées (F et E). Dans mon cas ce sont des variables.
il suffit d'utiliser des variables pour les colonnes aussi, mais bon, le problème est peut être ailleurs
Cdlmnt
il suffit d'utiliser des variables pour les colonnes aussi, mais bon, le problème est peut être ailleurs
Public Sub OK()
Dim gr As Object
Dim plageX As String, plageY As String, a As Long, b As Long, cox As String, coy As String
a = 3
b = 10
cox = "A"
coy = "B"
plageX = cox & a & ":" & cox & b
plageY = coy & a & ":" & coy & b
Set gr = ActiveSheet.ChartObjects(1).Chart
With gr.SeriesCollection(1)
.XValues = Range(plageX)
.Values = Range(plageY)
End With
End Sub
Cdlmnt
ccm81
Messages postés
10907
Date d'inscription
lundi 18 octobre 2010
Statut
Membre
Dernière intervention
24 janvier 2025
2 430
6 janv. 2017 à 17:28
6 janv. 2017 à 17:28
Public Sub OK()
Dim gr As Object
Dim plageX As String, plageY As String, a As Long, b As Long, cox As Long, coy As Long
a = 3
b = 8
cox = 1
coy = 2
plageX = ActiveSheet.Range(Cells(a, cox), Cells(b, cox)).Address
plageY = ActiveSheet.Range(Cells(a, coy), Cells(b, coy)).Address
Set gr = ActiveSheet.ChartObjects(1).Chart
With gr.SeriesCollection(1)
.XValues = Range(plageX)
.Values = Range(plageY)
End With
End Sub
Cdlmnt