OVH Cloud OVH Cloud

Pb Sur Graphique

3 réponses
Avatar
Mireille
Bjr =E0 toutes & tous,
Je souhaite faire un graphique par VBA.
Quand j'ai g=E9n=E9r=E9 mon code VBA j'ai r=E9cup=E9r=E9 une plage=20
fixe :
ActiveChart.SetSourceData Source:=3DSheets("Man").Range
("A1:C7"), PlotBy:=3D xlColumns

Bien evidemment la plage A1:C7 est variable , elle=20
commnence toujours en A1 mais peut terminer en Cn.
Existe t-il une solution pour avoir une adresse g=E9n=E9rique=20
fonction de la plage qui a =E9t=E9 s=E9lectionn=E9.
Merci de votre aide pr=E9cieuse

3 réponses

Avatar
Misange
Bonjour,
tu peux uiliser l'instruction decaler (offset en VBA) pour définir tes
données source. Regarde sur excelabo sur la page graphique la rubrique
graphique dynamique.
La solution que je préfère c'est plutôt de nommer façon dynamique les
séries (soit par VBA soit dans la feuille) puis d'utiliser ces noms pour
construire ton graphique.

Misange migrateuse http://www.excelabo.net
mail : http://cerbermail.com/?k5Q8Dh2mta

le 26/05/2004 10:27:
Bjr à toutes & tous,
Je souhaite faire un graphique par VBA.
Quand j'ai généré mon code VBA j'ai récupéré une plage
fixe :
ActiveChart.SetSourceData Source:=Sheets("Man").Range
("A1:C7"), PlotBy:= xlColumns

Bien evidemment la plage A1:C7 est variable , elle
commnence toujours en A1 mais peut terminer en Cn.
Existe t-il une solution pour avoir une adresse générique
fonction de la plage qui a été sélectionné.
Merci de votre aide précieuse



Avatar
garnote
Bonjour Mireille,

Une suggestion :

1. Insertion / Nom / Définir...
Noms dans le classeur :
masource
Fait référence à :
= DECALER ( $A$1 ; 0 ; 0 ; NBVAL($A:$A) ; 3 )

Cette formule se réfère à la plage $A$1:$C$n
où n est le nombre de données de la colonne A

2. Ensuite tu peux appeler cette macro :

Sub Graphique()
Application.ScreenUpdating = False
Set tableau = Range("masource")
nom = ActiveSheet.Name
Charts.Add
With ActiveChart
.ChartType = xlColumnClustered
.SetSourceData Source:=tableau
.Location Where:=xlLocationAsObject, Name:=nom
End With
End Sub

Serge


"Mireille" a écrit dans le message de
news: 1282a01c442fb$39b256f0$
Bjr à toutes & tous,
Je souhaite faire un graphique par VBA.
Quand j'ai généré mon code VBA j'ai récupéré une plage
fixe :
ActiveChart.SetSourceData Source:=Sheets("Man").Range
("A1:C7"), PlotBy:= xlColumns

Bien evidemment la plage A1:C7 est variable , elle
commnence toujours en A1 mais peut terminer en Cn.
Existe t-il une solution pour avoir une adresse générique
fonction de la plage qui a été sélectionné.
Merci de votre aide précieuse
Avatar
Bonjour,
Dim Ma_plage As Range

'Definit la selection
Set Ma_plage = Range(Selection.Address)
'puis plus loin
ActiveChart.SetSourceData Source:=Ma_plage, PlotBy _
:=xlColumns
Cordialement
-----Message d'origine-----
Bjr à toutes & tous,
Je souhaite faire un graphique par VBA.
Quand j'ai généré mon code VBA j'ai récupéré une plage
fixe :
ActiveChart.SetSourceData Source:=Sheets("Man").Range
("A1:C7"), PlotBy:= xlColumns

Bien evidemment la plage A1:C7 est variable , elle
commnence toujours en A1 mais peut terminer en Cn.
Existe t-il une solution pour avoir une adresse générique
fonction de la plage qui a été sélectionné.
Merci de votre aide précieuse

.