VBA - graph variable selon selection
Résolu
Pyvoudelet
Messages postés
169
Date d'inscription
Statut
Membre
Dernière intervention
-
Le Pingou Messages postés 12249 Date d'inscription Statut Contributeur Dernière intervention -
Le Pingou Messages postés 12249 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
JE voudrais réaliser un graph radar, en fonction de la liste de champs prealablement selectionnés.
voici le classeur: http://www.cijoint.fr/cjlink.php?file=cj201105/cijw4sUv4V.xlsm
Le principe de fonctionnement visé:
- j'ai tableau de base contenant toute mes valeurs
- avec les deux boutons ADD je selection uniquement les catégories qui m'interesse au sein du tableau
- je voudrais placer sur un graphique radar les valeurs des categories selectionnée.
mon probleme est la selection des données du graphique par une macro. Comment faire? Ai - je besoin de creer un second tableau reprenant les valeurs voulu, ou est possible de tracer direct le graph?
J'Ai realiser mes macro "ADD" avec le peu de connaissance que j'ai. SI vous avez des corrections a proposer , elles seront la bienvenue!
Merci d'avance!
JE voudrais réaliser un graph radar, en fonction de la liste de champs prealablement selectionnés.
voici le classeur: http://www.cijoint.fr/cjlink.php?file=cj201105/cijw4sUv4V.xlsm
Le principe de fonctionnement visé:
- j'ai tableau de base contenant toute mes valeurs
- avec les deux boutons ADD je selection uniquement les catégories qui m'interesse au sein du tableau
- je voudrais placer sur un graphique radar les valeurs des categories selectionnée.
mon probleme est la selection des données du graphique par une macro. Comment faire? Ai - je besoin de creer un second tableau reprenant les valeurs voulu, ou est possible de tracer direct le graph?
J'Ai realiser mes macro "ADD" avec le peu de connaissance que j'ai. SI vous avez des corrections a proposer , elles seront la bienvenue!
Merci d'avance!
A voir également:
- VBA - graph variable selon selection
- Vba range avec variable ✓ - Forum VB / VBA
- Décomposition facteur premier casio graph 35+e - Forum calculatrices
- Incompatibilité de type vba ✓ - Forum Programmation
- Impossible de créer le fichier de travail. vérifiez la variable d'environnement temp ✓ - Forum Word
- Excel compter cellule couleur sans vba - Guide
9 réponses
Bonjour Pyvoudelet,
Petite question, est-ce que les catégorie se suivent ou il peut y avoir des saut ( votre exemple de 1,2,3,4 et 5 ou 1,2,3,7, 10) ?
Petite question, est-ce que les catégorie se suivent ou il peut y avoir des saut ( votre exemple de 1,2,3,4 et 5 ou 1,2,3,7, 10) ?
Bonjour,
Merci Le Pingou de l avoir transformé en 2003.
Pour répondre à ta question, oui il peut y avoir des sauts, justement(!), et l'utilisateur n'est pas obligé de sélectionner toutes les catégories, ni dans le bon ordre. C'est pour ça que y a les boutons ADD. En fait je voudrais pouvoir faire un graph avec juste les catégories sélectionnées par l'utilisateur.
MErci de vous pencher sur le cas en tout cas!
Merci Le Pingou de l avoir transformé en 2003.
Pour répondre à ta question, oui il peut y avoir des sauts, justement(!), et l'utilisateur n'est pas obligé de sélectionner toutes les catégories, ni dans le bon ordre. C'est pour ça que y a les boutons ADD. En fait je voudrais pouvoir faire un graph avec juste les catégories sélectionnées par l'utilisateur.
MErci de vous pencher sur le cas en tout cas!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
en fait j'essaye de l'adapter, pour pouvoir mettre le tableau de données de base sur une autres feuille (je sais, j aurais du le dire plus tôt!!...).
j'ai essayé de juste changer les ref de Sheets() mais avec le bloc with, je suis un peu perdu....
je comprend s pas tout le fonctionnement ( notamment les fonction match) mais en tout cas ça fait l effet désiré!
j'ai essayé de juste changer les ref de Sheets() mais avec le bloc with, je suis un peu perdu....
je comprend s pas tout le fonctionnement ( notamment les fonction match) mais en tout cas ça fait l effet désiré!
Bonjour,
Merci pour le message.
Faites moi savoir se qui ne marche pas .....
Sur quoi voulez-vous une explication ?
Sur quelle feuille se trouve:
1.- la plage de données ?
2.- Les 2 listes déroulantes ?
3.- la liste des catégories ?
4.- Le graphique ?
Salutations.
Le Pingou
Merci pour le message.
Faites moi savoir se qui ne marche pas .....
Sur quoi voulez-vous une explication ?
Sur quelle feuille se trouve:
1.- la plage de données ?
2.- Les 2 listes déroulantes ?
3.- la liste des catégories ?
4.- Le graphique ?
Salutations.
Le Pingou
Finalement, j'ai réussi, en supprimant totalement le bloc with, et en ajoutant a chaque fois la référence de la feuille concernée. ça à l'air de bien fonctionner ainsi. cela me donne ceci:
Sub MonGraphRad()
Dim ad1, ad2, mescat, nomcat
Dim plage As String
Dim c As Long, nbcat As Long, nuco
plage = "$A$3:$A$6"
Application.ScreenUpdating = False
mescat = Application.Transpose(Sheets("Feuil1").Range("listcate").Value)
nbcat = Sheets("Feuil1").Range("listcate").Count
For c = 1 To nbcat
If nbcat = 1 Then
nuco = WorksheetFunction.Match(mescat, Sheets("Feuil2").Rows(3), 0)
Else
nuco = WorksheetFunction.Match(mescat(c), Sheets("Feuil2").Rows(3), 0)
End If
Set nomcat = Sheets("Feuil2").Cells(3, nuco)
ad1 = nomcat.Address
ad2 = WorksheetFunction.Substitute(ad1, 3, 6)
plage = plage & "," & ad1 & ":" & ad2
Next
Sheets("Feuil1").ChartObjects("Graphique 1").Activate
ActiveChart.SetSourceData Source:=Sheets("Feuil2").Range(plage)
Application.ScreenUpdating = True
Range("a1").Select
End Sub
MErci encore pour vos conseils.
Sub MonGraphRad()
Dim ad1, ad2, mescat, nomcat
Dim plage As String
Dim c As Long, nbcat As Long, nuco
plage = "$A$3:$A$6"
Application.ScreenUpdating = False
mescat = Application.Transpose(Sheets("Feuil1").Range("listcate").Value)
nbcat = Sheets("Feuil1").Range("listcate").Count
For c = 1 To nbcat
If nbcat = 1 Then
nuco = WorksheetFunction.Match(mescat, Sheets("Feuil2").Rows(3), 0)
Else
nuco = WorksheetFunction.Match(mescat(c), Sheets("Feuil2").Rows(3), 0)
End If
Set nomcat = Sheets("Feuil2").Cells(3, nuco)
ad1 = nomcat.Address
ad2 = WorksheetFunction.Substitute(ad1, 3, 6)
plage = plage & "," & ad1 & ":" & ad2
Next
Sheets("Feuil1").ChartObjects("Graphique 1").Activate
ActiveChart.SetSourceData Source:=Sheets("Feuil2").Range(plage)
Application.ScreenUpdating = True
Range("a1").Select
End Sub
MErci encore pour vos conseils.
Le voici en 2003 : https://www.cjoint.com/?3EjvCqJkLFv
Bonne suite.