J'ai cr=E9=E9 un graphique dans feuille de donn=E9es.
colonne A =3D une date
colonnes B =E0 Z, des donn=E9es (nombres entiers) ou rien (la ligne est=20
parfois incompl=E8te)
Je souhaite, lorsque je clique sur une ligne, que le graphique soit celui=
=20
des donn=E9es de cette ligne (il y a plus de 100 lignes)
J'ai la macro suivante (trouv=E9e sur ce forum) dans le code de la feuill=
e=20
qui reprend automatiquement le contenu de la colonne A et le met en titre=
=20
dans le graphique, mais les donn=E9es de la ligne ne suivent pas... :-(
Comment faire pour qu'=E0 chaque clic, les contenus de la ligne soit=20
repr=E9sent=E9es dans le graphique?
------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim isect As Range, myI As Long
Set isect =3D Intersect(Target, [montableau])
If isect Is Nothing Then Exit Sub
Me.ChartObjects(1).Visible =3D True
myI =3D ActiveCell.Row
ActiveWorkbook.Names("monindex").RefersTo =3D myI - 3
ChartObjects(1).Select
With ActiveChart
=2EHasTitle =3D True
=2EChartTitle.Text =3D Me.Cells(myI, 1)
End With
Application.EnableEvents =3D False
Target.Activate
Application.EnableEvents =3D True
End Sub
-------------------------
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Pierre F.
Daniel.C a écrit :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Intersect(Target, Range("A1", [A65000].End(xlUp))) Is Nothing The n Exit Sub With Sheets("Feuil2").ChartObjects(1).Chart .ChartTitle.Text = [A1].Offset(Target.Row - 1) .SeriesCollection(1).Values = Application.Transpose(Range("B1:Z1").Offset(Target.Row - 1)) End With End Sub
Merci pour cette réponse rapide... qui me pose tout de même quelques problèmes:
Quand je clique sur une date de la colonne A, le code plante et me dit:
Erreur 1004 "Impossible de définir la propriété Value de la classe Séries"
De plus, mes données commençant en A4, puis-je sans autre changer par tout A1 par A4 (et B1, Z1 par B4, Z4), y compris le [A1] ??
Merci. Cordialement, Pierre F.
Daniel.C a écrit :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("A1", [A65000].End(xlUp))) Is Nothing The n
Exit Sub
With Sheets("Feuil2").ChartObjects(1).Chart
.ChartTitle.Text = [A1].Offset(Target.Row - 1)
.SeriesCollection(1).Values =
Application.Transpose(Range("B1:Z1").Offset(Target.Row - 1))
End With
End Sub
Merci pour cette réponse rapide...
qui me pose tout de même quelques problèmes:
Quand je clique sur une date de la colonne A, le code plante et me dit:
Erreur 1004
"Impossible de définir la propriété Value de la classe Séries"
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Intersect(Target, Range("A1", [A65000].End(xlUp))) Is Nothing The n Exit Sub With Sheets("Feuil2").ChartObjects(1).Chart .ChartTitle.Text = [A1].Offset(Target.Row - 1) .SeriesCollection(1).Values = Application.Transpose(Range("B1:Z1").Offset(Target.Row - 1)) End With End Sub
Merci pour cette réponse rapide... qui me pose tout de même quelques problèmes:
Quand je clique sur une date de la colonne A, le code plante et me dit:
Erreur 1004 "Impossible de définir la propriété Value de la classe Séries"
De plus, mes données commençant en A4, puis-je sans autre changer par tout A1 par A4 (et B1, Z1 par B4, Z4), y compris le [A1] ??
Merci. Cordialement, Pierre F.
Daniel.C
Voila le code modifié :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Intersect(Target, Range("A4", [A65000].End(xlUp))) Is Nothing Then Exit Sub With Sheets("Feuil2").ChartObjects(1).Chart .HasTitle = True .ChartTitle.Text = [A4].Offset(Target.Row - 4) .SeriesCollection(1).Values = Application.Transpose(Range("B4:Z4").Offset(Target.Row - 4)) End With End Sub
et le fichier avec lequel j'ai fait les tests : http://www.cijoint.fr/cjlink.php?file=cj200911/cijD3Xj1tC.xls Daniel
Daniel.C a écrit :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Intersect(Target, Range("A1", [A65000].End(xlUp))) Is Nothing Then Exit Sub With Sheets("Feuil2").ChartObjects(1).Chart .ChartTitle.Text = [A1].Offset(Target.Row - 1) .SeriesCollection(1).Values = Application.Transpose(Range("B1:Z1").Offset(Target.Row - 1)) End With End Sub
Merci pour cette réponse rapide... qui me pose tout de même quelques problèmes:
Quand je clique sur une date de la colonne A, le code plante et me dit:
Erreur 1004 "Impossible de définir la propriété Value de la classe Séries"
De plus, mes données commençant en A4, puis-je sans autre changer partout A1 par A4 (et B1, Z1 par B4, Z4), y compris le [A1] ??
Merci. Cordialement, Pierre F.
Voila le code modifié :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("A4", [A65000].End(xlUp))) Is Nothing
Then Exit Sub
With Sheets("Feuil2").ChartObjects(1).Chart
.HasTitle = True
.ChartTitle.Text = [A4].Offset(Target.Row - 4)
.SeriesCollection(1).Values =
Application.Transpose(Range("B4:Z4").Offset(Target.Row - 4))
End With
End Sub
et le fichier avec lequel j'ai fait les tests :
http://www.cijoint.fr/cjlink.php?file=cj200911/cijD3Xj1tC.xls
Daniel
Daniel.C a écrit :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("A1", [A65000].End(xlUp))) Is Nothing Then
Exit Sub
With Sheets("Feuil2").ChartObjects(1).Chart
.ChartTitle.Text = [A1].Offset(Target.Row - 1)
.SeriesCollection(1).Values =
Application.Transpose(Range("B1:Z1").Offset(Target.Row - 1))
End With
End Sub
Merci pour cette réponse rapide...
qui me pose tout de même quelques problèmes:
Quand je clique sur une date de la colonne A, le code plante et me dit:
Erreur 1004
"Impossible de définir la propriété Value de la classe Séries"
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Intersect(Target, Range("A4", [A65000].End(xlUp))) Is Nothing Then Exit Sub With Sheets("Feuil2").ChartObjects(1).Chart .HasTitle = True .ChartTitle.Text = [A4].Offset(Target.Row - 4) .SeriesCollection(1).Values = Application.Transpose(Range("B4:Z4").Offset(Target.Row - 4)) End With End Sub
et le fichier avec lequel j'ai fait les tests : http://www.cijoint.fr/cjlink.php?file=cj200911/cijD3Xj1tC.xls Daniel
Daniel.C a écrit :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Intersect(Target, Range("A1", [A65000].End(xlUp))) Is Nothing Then Exit Sub With Sheets("Feuil2").ChartObjects(1).Chart .ChartTitle.Text = [A1].Offset(Target.Row - 1) .SeriesCollection(1).Values = Application.Transpose(Range("B1:Z1").Offset(Target.Row - 1)) End With End Sub
Merci pour cette réponse rapide... qui me pose tout de même quelques problèmes:
Quand je clique sur une date de la colonne A, le code plante et me dit:
Erreur 1004 "Impossible de définir la propriété Value de la classe Séries"
De plus, mes données commençant en A4, puis-je sans autre changer partout A1 par A4 (et B1, Z1 par B4, Z4), y compris le [A1] ??
Merci. Cordialement, Pierre F.
Pierre F.
Daniel.C a écrit : > Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("A4", [A65000].End(xlUp))) Is Nothing The n Exit Sub With Sheets("Feuil2").ChartObjects(1).Chart .HasTitle = True .ChartTitle.Text = [A4].Offset(Target.Row - 4) .SeriesCollection(1).Values = Application.Transpose(Range("B4:Z4").Offset(Target.Row - 4)) End With End Sub
et le fichier avec lequel j'ai fait les tests : http://www.cijoint.fr/cjlink.php?file=cj200911/cijD3Xj1tC.xls
Génial ! Ça fonctionne très bien!
Un petit détail encore:
Le titre (une date) s'affiche en format "décimal"; comment le faire s'afficher au format date.
Merci.
Cordialement, Pierre F.
Daniel.C a écrit :
> Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("A4", [A65000].End(xlUp))) Is Nothing The n
Exit Sub
With Sheets("Feuil2").ChartObjects(1).Chart
.HasTitle = True
.ChartTitle.Text = [A4].Offset(Target.Row - 4)
.SeriesCollection(1).Values =
Application.Transpose(Range("B4:Z4").Offset(Target.Row - 4))
End With
End Sub
et le fichier avec lequel j'ai fait les tests :
http://www.cijoint.fr/cjlink.php?file=cj200911/cijD3Xj1tC.xls
Génial ! Ça fonctionne très bien!
Un petit détail encore:
Le titre (une date) s'affiche en format "décimal"; comment le faire
s'afficher au format date.
Daniel.C a écrit : > Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("A4", [A65000].End(xlUp))) Is Nothing The n Exit Sub With Sheets("Feuil2").ChartObjects(1).Chart .HasTitle = True .ChartTitle.Text = [A4].Offset(Target.Row - 4) .SeriesCollection(1).Values = Application.Transpose(Range("B4:Z4").Offset(Target.Row - 4)) End With End Sub
et le fichier avec lequel j'ai fait les tests : http://www.cijoint.fr/cjlink.php?file=cj200911/cijD3Xj1tC.xls
Génial ! Ça fonctionne très bien!
Un petit détail encore:
Le titre (une date) s'affiche en format "décimal"; comment le faire s'afficher au format date.
Merci.
Cordialement, Pierre F.
Daniel.C
Essaie comme ça :
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Intersect(Target, Range("A4", [A65000].End(xlUp))) Is Nothing Then Exit Sub With Sheets("Feuil2").ChartObjects(1).Chart .HasTitle = True .ChartTitle.Text = Format([A4].Offset(Target.Row - 4), "dd/mm/yyyy") .SeriesCollection(1).Values = Application.Transpose(Range("B4:Z4").Offset(Target.Row - 4)) End With End Sub
Daniel
Daniel.C a écrit : > Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("A4", [A65000].End(xlUp))) Is Nothing Then Exit Sub With Sheets("Feuil2").ChartObjects(1).Chart .HasTitle = True .ChartTitle.Text = [A4].Offset(Target.Row - 4) .SeriesCollection(1).Values = Application.Transpose(Range("B4:Z4").Offset(Target.Row - 4)) End With End Sub
et le fichier avec lequel j'ai fait les tests : http://www.cijoint.fr/cjlink.php?file=cj200911/cijD3Xj1tC.xls
Génial ! Ça fonctionne très bien!
Un petit détail encore:
Le titre (une date) s'affiche en format "décimal"; comment le faire s'afficher au format date.
Merci.
Cordialement, Pierre F.
Essaie comme ça :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("A4", [A65000].End(xlUp))) Is Nothing
Then Exit Sub
With Sheets("Feuil2").ChartObjects(1).Chart
.HasTitle = True
.ChartTitle.Text = Format([A4].Offset(Target.Row - 4),
"dd/mm/yyyy")
.SeriesCollection(1).Values =
Application.Transpose(Range("B4:Z4").Offset(Target.Row - 4))
End With
End Sub
Daniel
Daniel.C a écrit :
> Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("A4", [A65000].End(xlUp))) Is Nothing Then
Exit Sub
With Sheets("Feuil2").ChartObjects(1).Chart
.HasTitle = True
.ChartTitle.Text = [A4].Offset(Target.Row - 4)
.SeriesCollection(1).Values =
Application.Transpose(Range("B4:Z4").Offset(Target.Row - 4))
End With
End Sub
et le fichier avec lequel j'ai fait les tests :
http://www.cijoint.fr/cjlink.php?file=cj200911/cijD3Xj1tC.xls
Génial ! Ça fonctionne très bien!
Un petit détail encore:
Le titre (une date) s'affiche en format "décimal"; comment le faire
s'afficher au format date.
Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Intersect(Target, Range("A4", [A65000].End(xlUp))) Is Nothing Then Exit Sub With Sheets("Feuil2").ChartObjects(1).Chart .HasTitle = True .ChartTitle.Text = Format([A4].Offset(Target.Row - 4), "dd/mm/yyyy") .SeriesCollection(1).Values = Application.Transpose(Range("B4:Z4").Offset(Target.Row - 4)) End With End Sub
Daniel
Daniel.C a écrit : > Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("A4", [A65000].End(xlUp))) Is Nothing Then Exit Sub With Sheets("Feuil2").ChartObjects(1).Chart .HasTitle = True .ChartTitle.Text = [A4].Offset(Target.Row - 4) .SeriesCollection(1).Values = Application.Transpose(Range("B4:Z4").Offset(Target.Row - 4)) End With End Sub
et le fichier avec lequel j'ai fait les tests : http://www.cijoint.fr/cjlink.php?file=cj200911/cijD3Xj1tC.xls
Génial ! Ça fonctionne très bien!
Un petit détail encore:
Le titre (une date) s'affiche en format "décimal"; comment le faire s'afficher au format date.
Merci.
Cordialement, Pierre F.
Pierre F.
Daniel.C a écrit :
Essaie comme ça : Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Intersect(Target, Range("A4", [A65000].End(xlUp))) Is Nothing The n Exit Sub With Sheets("Feuil2").ChartObjects(1).Chart .HasTitle = True .ChartTitle.Text = Format([A4].Offset(Target.Row - 4), "dd/mm/ yyyy") .SeriesCollection(1).Values = Application.Transpose(Range("B4:Z4").Offset(Target.Row - 4)) End With End Sub
Magnifique; c'est exactement ça.
Mille mercis.
Cordialement, Pierre F.
Daniel.C a écrit :
Essaie comme ça :
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Intersect(Target, Range("A4", [A65000].End(xlUp))) Is Nothing The n
Exit Sub
With Sheets("Feuil2").ChartObjects(1).Chart
.HasTitle = True
.ChartTitle.Text = Format([A4].Offset(Target.Row - 4), "dd/mm/ yyyy")
.SeriesCollection(1).Values =
Application.Transpose(Range("B4:Z4").Offset(Target.Row - 4))
End With
End Sub
Essaie comme ça : Private Sub Worksheet_SelectionChange(ByVal Target As Range) If Intersect(Target, Range("A4", [A65000].End(xlUp))) Is Nothing The n Exit Sub With Sheets("Feuil2").ChartObjects(1).Chart .HasTitle = True .ChartTitle.Text = Format([A4].Offset(Target.Row - 4), "dd/mm/ yyyy") .SeriesCollection(1).Values = Application.Transpose(Range("B4:Z4").Offset(Target.Row - 4)) End With End Sub