Case à cocher et affichage de courbe sous excel... [Résolu]

Messages postés
6
Date d'inscription
jeudi 12 février 2009
Dernière intervention
14 février 2009
- - Dernière réponse : Alexbab
Messages postés
1
Date d'inscription
lundi 22 novembre 2010
Dernière intervention
22 novembre 2010
- 22 nov. 2010 à 14:56
Bonjour à tous,

et tout d'abord félicitations pour ce magnifique plein de richesses..
Je débute en vb et du coup je me pose des ptits défis mais celui reste insolvable pour moi..

Voila j'aimerais savoir comment faire pour selectionner une courbe sur un graphique excel.

Le principe que j'aimerai mettre en place est le suivant :

j'ai un graphique avec 4 courbes et je souhaiterais à l'aide de cases à cocher (4) ou autre faire apparaitre et/ou disparaitre certaines courbes.

Merci pour votre précieuse aide....

@: [mailto:excessfr@yahoo.fr excessfr@yahoo.fr]
Afficher la suite 

Votre réponse

12 réponses

Meilleure réponse
Messages postés
6
Date d'inscription
jeudi 12 février 2009
Dernière intervention
14 février 2009
3
Merci
Merci pour ta réponse!
Par contre je ne voit pas comment proceder..
Quand je cré une case à cocher et que je selectionne mes valeurs, la premiere cellule de la colonne selectionnée m'indique VRAI ou FAUX selon que je coche ou décoche la case à cocher..
Pourriez-vous m'en dire un peu plus voir un exemple, j'ai regardé sur le site mais sans grand succes..

Merci encore..!

Merci excess01 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de excess01
Messages postés
578
Date d'inscription
vendredi 26 septembre 2008
Dernière intervention
20 novembre 2010
3
Merci
Ne cherche pas à sélectionner tes valeurs avec la case à cocher. Celle-ci doit exécuter une macro et c'est cette dernière qui modifie la source.

Ca sera plus clair par un exemple. Colle une case à cocher nommée CheckBox1dans ton formulaire, et la procédure CheckBox1_Click suivante dans le code de la feuille ou dans un module.

Public Sub CheckBox1_Click()
   If CheckBox1 Then
       ActiveSheet.Shapes("chart 1").Select
       ActiveChart.SetSourceData = "Feuil2!A1:A100"
   End If
End Sub

Ensuite teste la case à cocher. En principe, lorsque qu'elle passe à True, ton graphique devrait s'afficher. Si c'est le cas, tu n'as qu'à répéter l'opération pour les trois autres cases à cocher.

Note : Dans l'exemple, j'ai appelé "chart 1" le nom du graphique incorporé. Si tu veux savoir sous quel nom a été incorporé ton graphique, ce , exécute la routine suivante, elle t'affiche le nom de tous les contrôles :

Sub nomControles
   Dim s as Shape
   For Each s In ActiveSheet.Shapes
        MsgBox s.Name
   Next
End Sub

Essaie ça et dis-moi si tu as un problème. Les graphiques sont des contrôles un peu embêtants à prendre en main, mais ça en vaut la peine.

Amicalement

Merci cs_Orohena 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_Orohena
Messages postés
6
Date d'inscription
jeudi 12 février 2009
Dernière intervention
14 février 2009
3
Merci
Re!

bon ba je me suis levé très tot en espérant qu'une bonne nuit de sommeil ainsi que ton aide me soit favorable..
Et bien non!
Je commence dans la programation et apres avoir maitrisé ACCESS c'est au tour de EXCEL..
Je ne veut pas lacher l'affaire concernant ce graphique et le fait de vouloir faire apparaitre les courbes en cliquant qur un bouton!!

Merci encore pour ton aide c'est super sympa!

Sinon je n'y parvient, j'ai testé ta méthode mais il me renvoi une erreur de compilation..

Voici un lien ou mon fichier est accessible et sans vouloir abuser et si tu peux bien sur..

Il y a 4 courbes: ecoute, good, acceptable et inacceptable
j'aimerais à l'aide de 4 boutons ou cases à cocher les faire apparaitre..

Merci encore ca fait du bien de trouver de l'aide!!

FileDropper Free File Hosting

Merci excess01 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de excess01
Messages postés
6
Date d'inscription
jeudi 12 février 2009
Dernière intervention
14 février 2009
3
Merci
Désolé ca prend pas le html!

voici le lien!!

merci!!

http://www.filedropper.com/test_106

Merci excess01 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de excess01
Messages postés
578
Date d'inscription
vendredi 26 septembre 2008
Dernière intervention
20 novembre 2010
3
Merci
Salut excess01

Désolé pour le retard à te répondre, décalage horaire.

Ca fait quelques mois que j'essaie d'apporter des réponses sur ce forum, et avec l'expérience, je sens si une discussion va être rapide ou non. Quand j'ai lu ton premier message, je reconnais que j'ai hésité à te répondre, parce que les graphiques sur Excel, c'est un peu "chiant" à expliquer. Mais d'un autre côté, je trouve plus intéressant d'aborder un sujet un peu complexe que d'expliquer à un débutant comment afficher "Hello World".

Je vais regarder ton classeur (d'ailleurs j'allais te proposer de me l'envoyer, c'est te dire qu'on est sur la même longueur d'onde !).

A tout à l'heure

Merci cs_Orohena 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_Orohena
Messages postés
578
Date d'inscription
vendredi 26 septembre 2008
Dernière intervention
20 novembre 2010
3
Merci
J'ai bien téléchargé le classeur. Pendant que je travaille dessus, peux-tu me dire comment je pourrai le mettre à jour sur le site File Dropper ? Ca nous fera gagner du temps.

Merci cs_Orohena 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de cs_Orohena
Messages postés
6
Date d'inscription
jeudi 12 février 2009
Dernière intervention
14 février 2009
3
Merci
Bonsoir Orohena!

et merci encore pour ta précieuse aide!
tu ne pourras pas le mettre à jour sur file dropper car il te faut un compte..

Mais tu peux toujours me le renvoyer par mail:

antony1061@hotmail.com

j'ai regardé sur le net encore cette apres midi mais sans succes, les seules choses que j'ai vu concerne l'affichage ou non d'un graphique..
Mais je souhaiterais faire apparaitre ou non les 4courbes..

Merci beaucoup ca fait chaud au coeur!!
Courage!

Merci excess01 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de excess01
Messages postés
578
Date d'inscription
vendredi 26 septembre 2008
Dernière intervention
20 novembre 2010
0
Merci
Merci pour ton message.

J'ai terminé. Je vais t'envoyer le classeur par mail.

J'ai mis une seule des 4 cases à cocher, baptisée caseEcoute. Elle crée et supprime alternativement la courbe Ecoute du graphique. Tu as juste à ajouter les 3 autres cases à cocher et créer leurs procédures évenementielles en te basant sur la Sub caseEcoute() ci-dessous.

Voici ce que j'ai fait :

A. créer une case à cocher caseEcoute avec pour caption Ecoute
B. dans le code de la feuille Neufbox, ajouter la procédure évenementielle caseEcoute() suivante :

Private Sub caseEcoute_Click()



' click de la case a cocher Ecoute



    gererSerie nomSerie:= "Ecoute", _
        serie:="=Neufbox!R13C3:R26C3", _
        etatCase:=caseEcoute.Value, _
        couleur:=54
End Sub




C
. en dessous, ajouter le Sub gereSerie() qui gère la création / suppression de la série Ecoute (il n'est pas possible de masquer/visualiser une série. On ne peut que la supprimer et la recréer) :

Private Sub gererSerie(nomSerie As String, serie As String, etatCase As Boolean, _
    couleur As Integer)



' ajout / suppression d'une serie



    Application.ScreenUpdating = False
    If etatCase = True Then
        ajouterSerie nomSerie, serie, couleur
    Else
        SupprimerSerie nomSerie
    End If
    Application.ScreenUpdating = True
    ActiveSheet.Select
End Sub



D. en dessous, ajouter les deux Sub ajouterSerie et supprimerSerie, qui se passent de commentaires :

Private Sub ajouterSerie(nomSerie As String, donnees As String, couleur As Integer)



    Dim numeroSerie As Integer
   

' ajout d'une serie de donnees (création d'une courbe)



    SupprimerSerie nomSerie
    ActiveSheet.ChartObjects(1).Activate
    ActiveChart.SeriesCollection.NewSeries
    numeroSerie = ActiveChart.SeriesCollection.Count
    With ActiveChart.SeriesCollection(numeroSerie)
        .Values = donnees
        .Name = nomSerie
        .ChartType = xlLineMarkers
        .Border.ColorIndex = couleur
        .Border.Weight = xlThick
        .Border.LineStyle = xlContinuous
        .MarkerBackgroundColorIndex = 13
        .MarkerForegroundColorIndex = 13
        .MarkerStyle = xlCircle
        .Shadow = False
    End With
End Sub



Private Sub SupprimerSerie(nomSerie As String)



' suppression d'une serie de donnees



    Dim s As Series
    ActiveSheet.ChartObjects(1).Activate
    For Each s In ActiveChart.SeriesCollection
        If s.Name = nomSerie Then
            s.Select
            Selection.Delete
            Exit For
        End If
    Next
End Sub



Amicalement
Commenter la réponse de cs_Orohena
Messages postés
6
Date d'inscription
jeudi 12 février 2009
Dernière intervention
14 février 2009
0
Merci
Orohena est un génie!!

Un GRAND GRAND merci!!
Commenter la réponse de excess01
Messages postés
578
Date d'inscription
vendredi 26 septembre 2008
Dernière intervention
20 novembre 2010
0
Merci
Merci à toi Anthony, c'est trop sympa

Bonne programmation
Commenter la réponse de cs_Orohena
Messages postés
1
Date d'inscription
lundi 22 novembre 2010
Dernière intervention
22 novembre 2010
0
Merci
Bonjour,

Désolé de déterrer ce vieux topic, mais j'ai exactement le même besoin que excess01 et j'aurait encore besoin de votre aide ! :)


En fait j'ai aussiun graphique (deux en fait mais bon) sur une feuille, et 8 courbes sur ces graphiques... je voudrais aussi créer 8 checkbox, pour chaque graphique, et permettre d'"afficher/masquer" a volonté les différentes courbes sur les graphiques...



J'ai mis en place le code donné plus haut en adaptant à mon fichier, mais j'ai un petit problème. Lorsque je clique sur la checkbox pour afficher une courbe, celà me met "Impossible de lire la propriété Name de la classe Series" !


J'ai bien adapté le code à mon problème, et j'ai quelques pistes sur l'origine du problème :

- Le fait d'avoir 2 graphiques sur la même page pose peut-être problème ? Le code ne sait peut-être pas sur quel graphique il doit dessiner ?

- Les graphiques crés sur ma page doivent-ils être remplis avec des séries ou bien est-ce que je dois les laisser vide et laisser les "checkbox les remplir" selon la sélection ?

- Les noms de mes séries sont des années (2005, 2006, 2007...) Celà pose t'il problème que ce soit des valeurs numériques ?



Merci d'avance pour le coup de main, car là je bloque vraiment...


ps : je peux vous envoyer par mail un exemple de ce que j'ai pour mieux comprendre mon problème ;)
Commenter la réponse de Alexbab
Messages postés
578
Date d'inscription
vendredi 26 septembre 2008
Dernière intervention
20 novembre 2010
-2
Merci
Bonjour

Crée un graphique avec une seule courbe.

Quand tu cliques une case à cocher, tu as simplement à redéfinir la plage de données source de ton graphique (méthode SetSourceData).

Amicalement
Commenter la réponse de cs_Orohena

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.