Selection d'une zone puis création graphique

davidp

XLDnaute Occasionnel
Bonsoir le forum,

j'ai une nouvelle fois besoin de votre aide (je n'ai pas réussi à créer le graphique convenablement).

Je cherche à créer un graphique pour exprimer au mieux le fichier en annexe.

L'ideal ,serait de pouvoir sélectionner une zone (ex zone A) afin de rendre le graphique dynamique.

Nb: Si c'est possible , j'aimerai disposer d'une étiquette avec la valeur de l'indice et une autre avec la valeur de CA 2010.

Merci d'avance à celui ou celle qui m'aidera

Bonne soirée à tous
DAVIDP
 

Pièces jointes

  • zonetest.zip
    4.7 KB · Affichages: 33

job75

XLDnaute Barbatruc
Re : Selection d'une zone puis création graphique

Bonjour davidp,

Voyez le fichier joint avec une liste de validation en H41 et les plages nommées :

- plagX=> =DECALER(Feuil1!$B$1;EQUIV(Feuil1!$H$41;Feuil1!$A:$A;0)-1;;NB.SI(Feuil1!$A:$A;Feuil1!$H$41))

- plagY1=> =DECALER(Feuil1!$C$1;EQUIV(Feuil1!$H$41;Feuil1!$A:$A;0)-1;;NB.SI(Feuil1!$A:$A;Feuil1!$H$41))

- plagY2=> =DECALER(Feuil1!$D$1;EQUIV(Feuil1!$H$41;Feuil1!$A:$A;0)-1;;NB.SI(Feuil1!$A:$A;Feuil1!$H$41))

Je vous laisse vous débrouiller pour l'indice de progres.

Edit : bien sûr le tableau doit être trié sur la colonne A :)

A+
 

Pièces jointes

  • zonetest(1).xls
    32.5 KB · Affichages: 65
Dernière édition:

job75

XLDnaute Barbatruc
Re : Selection d'une zone puis création graphique

Re,

Un peu plus simple avec les définitions :

- plagY1 => DECALER(plagX;;1)

- plagY2 => DECALER(plagX;;2)

A+
 

Pièces jointes

  • zonetest(2).xls
    32.5 KB · Affichages: 55

job75

XLDnaute Barbatruc
Re : Selection d'une zone puis création graphique

Re,

Bon j'ai travaillé un petit peu car j'aime bien les macros :)

Cette macro dans le code de la feuille (clic droit sur l'onglet et Visualiser le code) :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim ch As Chart, i As Integer
Set ch = Me.ChartObjects("Graphique 34").Chart
On Error Resume Next
With ch.SeriesCollection(2)
  .ApplyDataLabels Type:=xlDataLabelsShowNone 'masque toutes les étiquettes
  For i = 1 To .Points.Count
    .Points(i).HasDataLabel = True 'affiche l'étiquette du point
    With .Points(i).DataLabel
      .Text = Range("plagY3")(i).Text
      .Font.ColorIndex = xlAutomatic
      '.Font.FontStyle = "Gras"
      .Font.Size = 8
      .Interior.ColorIndex = 6 'jaune
      .Top = .Top - 4 'décale vers le haut
    End With
  Next
  ch.SeriesCollection(3).Interior.ColorIndex = .Points(1).DataLabel.Interior.ColorIndex
End With
End Sub

Elle permet d'afficher les étiquettes avec les valeurs de la colonne Indice de progres.

Nota : la 3ème série est une "fausse" série, juste créée pour faire apparaître son nom.

Fichier (3) joint.

A+
 

Pièces jointes

  • zonetest(3).zip
    14.7 KB · Affichages: 28
  • zonetest(3).zip
    14.7 KB · Affichages: 23
  • zonetest(3).zip
    14.7 KB · Affichages: 23
Dernière édition:

davidp

XLDnaute Occasionnel
Re : Selection d'une zone puis création graphique

Bonjour JOB75,

tout d'abord UN GRAND MERCI pour ton travail . Je suis désolè de n'avoir pas pu me connecter plus tôt.

La 3 eme version est exactement ce dont je désirais.
Demain , je vais essayer de comprendre ton code afin de pouvoir réaliser des modifications si le nombre de magasins changeaient.

Merci pour ton investissement

A bientôt sur le forum , bonsoir à tous

DAVIDP
 

job75

XLDnaute Barbatruc
Re : Selection d'une zone puis création graphique

Re,

Au cas où l'on voudrait le graphique dans une feuille Graphique, utiliser cette version (4).

La zone est sélectionnée dans une liste combinée créée avec la boîte Formulaires.

La macro est toujours dans le code de Feuil1, mais c'est maintenant une Worksheet_Calculate (qui se déclanche donc quand des formules de la feuille sont recalculées).

A+
 

Pièces jointes

  • zonetest(4).zip
    16.5 KB · Affichages: 48
  • zonetest(4).zip
    16.5 KB · Affichages: 36
  • zonetest(4).zip
    16.5 KB · Affichages: 36
Dernière édition:

job75

XLDnaute Barbatruc
Re : Selection d'une zone puis création graphique

Bonjour davidp, le forum,

J'ai ajouté On Error Resume Next dans les versions (3) et (4) au cas où l'on efface les cellules H41 ou G41.

Edit : sur la version (4) j'ai ajouté une zone de texte pour le titre, afin de mettre la police que l'on veut.

A+
 
Dernière édition:

davidp

XLDnaute Occasionnel
Re : Selection d'une zone puis création graphique

Bonjour Job75 ,

Merci pour tous ces derniers paramétrages qui améliorent encore la visibilité du graphique.

Par contre ,serait il possible d'avoir en + les valeurs de CA 2010 dans la colonne violette afin que l'on voir la valeur précise de celle ci.

j'ai essayé dans option du graphique ,étiquette,valeur mais cela ne fonctionne pas.

Si ce n'est pas possible , ce n'est pas grave car le graphique actuel est déjà tres bien.

Bonne journée et merci d'avance

DAVIDP
 

davidp

XLDnaute Occasionnel
Re : Selection d'une zone puis création graphique

Bonjour Job75 ,

ce n'est pas toi qui avait mal compris la question , c'est moi qui vient de penser que cela apporter un + .

Il n'y a pas d'urgence , et je te tiens encore à te remercier pour ton travail

Bonne soirée
DAVIDP
 

job75

XLDnaute Barbatruc
Re : Selection d'une zone puis création graphique

Re,

Il suffisait de modifier le texte des étiquettes :

Code:
.Text = Trim(Range("plagY2")(i).Text) & Chr(10) & Range("plagY3")(i).Text & "%"

A+
 

Pièces jointes

  • zonetest(3).zip
    15 KB · Affichages: 29
  • zonetest(3).zip
    15 KB · Affichages: 30
  • zonetest(3).zip
    15 KB · Affichages: 27
  • zonetest(4).zip
    18 KB · Affichages: 32
  • zonetest(4).zip
    18 KB · Affichages: 33
  • zonetest(4).zip
    18 KB · Affichages: 33

davidp

XLDnaute Occasionnel
Re : Selection d'une zone puis création graphique

Bonsoir Job75,

Un seul mot "BRAVO" pour ton travail . C'est encore mieux que ce dont j'espérais.

Milles fois "Merci"

Je vais pouvoir maintenant l'utiliser pour mon projet

Bonne soirée

DAVIDP
 

Discussions similaires

Statistiques des forums

Discussions
312 176
Messages
2 085 963
Membres
103 068
dernier inscrit
Strogoff