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



--
Bienheureux ceux qui savent rire d'eux mêmes: ils n'ont pas finis de s'amuser!

9 réponses

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    bonsoir,
    peux tu envoyer ton fichier au format excel 2003
    bonne suite
    0
    1. Le Pingou Messages postés 12273 Date d'inscription   Statut Contributeur Dernière intervention   1 476
       
      Bonjour ccm81,
      Le voici en 2003 : https://www.cjoint.com/?3EjvCqJkLFv
      Bonne suite.
      0
  2. Le Pingou Messages postés 12273 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    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
  3. 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
  4. Le Pingou Messages postés 12273 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    Bonsoir,
    Merci pour l'information.
    J'ai une petite idée... patience.
    0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. 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
  7. 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
  8. Le Pingou Messages postés 12273 Date d'inscription   Statut Contributeur Dernière intervention   1 476
     
    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
  9. 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
    1. Le Pingou Messages postés 12273 Date d'inscription   Statut Contributeur Dernière intervention   1 476
       
      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