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   -
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!



9 réponses

ccm81 Messages postés 10909 Date d'inscription   Statut Membre Dernière intervention   2 433
 
bonsoir,
peux tu envoyer ton fichier au format excel 2003
bonne suite
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour ccm81,
Le voici en 2003 : https://www.cjoint.com/?3EjvCqJkLFv
Bonne suite.
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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) ?
0
Pyvoudelet Messages postés 169 Date d'inscription   Statut Membre Dernière intervention   12
 
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!
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonsoir,
Merci pour l'information.
J'ai une petite idée... patience.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Ma proposition : https://www.cjoint.com/?3EkjkSBBVvg
0
Pyvoudelet Messages postés 169 Date d'inscription   Statut Membre Dernière intervention   12
 
Merci beaucoup!! C'est tout à fait ce que je voulais!!! t'es un As!
0
Pyvoudelet Messages postés 169 Date d'inscription   Statut Membre Dernière intervention   12
 
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é!
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
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
0
Pyvoudelet Messages postés 169 Date d'inscription   Statut Membre Dernière intervention   12
 
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.
0
Le Pingou Messages postés 12249 Date d'inscription   Statut Contributeur Dernière intervention   1 458
 
Bonjour,
Merci pour l'information.
C'est une autre manière d'écriture de code, le principal est que cela fonctionne.
Salutations.
Le Pingou
0