excess01
Messages postés6Date d'inscriptionjeudi 12 février 2009StatutMembreDernière intervention14 février 2009
-
12 févr. 2009 à 20:05
Alexbab
Messages postés1Date d'inscriptionlundi 22 novembre 2010StatutMembreDernière intervention22 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.
cs_Orohena
Messages postés577Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention20 novembre 20104 13 févr. 2009 à 00:15
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.
cs_Orohena
Messages postés577Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention20 novembre 20104 13 févr. 2009 à 20:02
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 !).
cs_Orohena
Messages postés577Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention20 novembre 20104 13 févr. 2009 à 20:20
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
excess01
Messages postés6Date d'inscriptionjeudi 12 février 2009StatutMembreDernière intervention14 février 20092 13 févr. 2009 à 21:01
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..
excess01
Messages postés6Date d'inscriptionjeudi 12 février 2009StatutMembreDernière intervention14 février 20092 12 févr. 2009 à 23:07
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..
excess01
Messages postés6Date d'inscriptionjeudi 12 février 2009StatutMembreDernière intervention14 février 20092 13 févr. 2009 à 07:20
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!!
cs_Orohena
Messages postés577Date d'inscriptionvendredi 26 septembre 2008StatutMembreDernière intervention20 novembre 20104 13 févr. 2009 à 23:17
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
Alexbab
Messages postés1Date d'inscriptionlundi 22 novembre 2010StatutMembreDernière intervention22 novembre 2010 22 nov. 2010 à 14:56
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 ;)