Vérifier qu'un graphique est selectionné.

haekel

XLDnaute Nouveau
Voici mon souci :
Avec l'aide et les conseils de certains d'entre vous, j'ai obtenu une petite macro qui agit sur un graphique (ici) .

Ceci étant ma macro ne fonctionne pas si l'utilisateur n'a pas sélectionné un graphique au préalable. Existe-t-il un moyen de tester que l'utilisateur à sélectionné un graphique ?
 

Pierrot93

XLDnaute Barbatruc
Re : Vérifier qu'un graphique est selectionné.

Bonjour,

En vba il est rarement utile de sélectionner les objets, si c'est le code de la macro "colorisation_auto" dans le lien que tu nous donne qui te pose problème, essaye ainsi :

Code:
Sub colorisation_auto()
Dim valeur As Single
Dim seuil As Single
Dim c As Chart
Set c = Feuil3.ChartObjects(1).Chart
Application.ScreenUpdating = False
seuil = InputBox("quel est le seuil ?")
c.SeriesCollection(1).Interior.ColorIndex = 3
For i = 1 To c.SeriesCollection(1).Points.Count
    With c.SeriesCollection(1).Points(i)
        .HasDataLabel = True
        valeur = .DataLabel.Characters.Text
        .HasDataLabel = False
        If valeur >= seuil Then
            c.SeriesCollection(1).Points(i).Interior.ColorIndex = 4
        End If
    End With
Next i
Application.ScreenUpdating = True
End Sub

bon dimanche
@+
 

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : Vérifier qu'un graphique est selectionné.

Bonjour haekel, Pierrot
Ceci étant ma macro ne fonctionne pas si l'utilisateur n'a pas sélectionné un graphique au préalable. Existe-t-il un moyen de tester que l'utilisateur à sélectionné un graphique ?
Pour avoir participé à l'autre fil cité, je remarque que le code démarrait automatiquement (code évènementiel) après un changement de valeur dans la colonne B et que maintenant ce n'est plus le cas.
Il a peut-être été modifié pour une raison valable mais je ne vois pas l'utilité de l'avoir fait

quand tu parles de sélectionner un graphe, cela sous-entent'il qu'il y en a plusieurs ????? ..............

à+
Philippe
 

haekel

XLDnaute Nouveau
Re : Vérifier qu'un graphique est selectionné.

Merci pour les réponses.

Mon idée ici était de créer une macro générique pour traiter, quand je le souhaite, un graphe sélectionné sur une feuille : la macro sera dans un classeur avec d'autres macro utilitaires de mise en forme (j'en ai pour les tableaux par exemple)
Le principe est donc de sélectionner un graphe de type barre et de lui appliquer la macro, qu'il y ai d'autres graphe ou pas sur la feuille.
Le test de sélection correcte a pour but d'éviter les étourderies...

Je ne sais pas si je suis bien clair :rolleyes:
 

Pierrot93

XLDnaute Barbatruc
Re : Vérifier qu'un graphique est selectionné.

Re,

essaye ainsi :
Code:
Sub colorisation_auto()
Dim valeur As Single
Dim seuil As Single
Dim c As Chart
Set c = ActiveChart
[B][COLOR="Blue"]If c Is Nothing Then MsgBox "pas de graph sélectionné...": Exit Sub
If c.ChartType <> xlColumnClustered Then MsgBox "pas bon type de graph sélectionné...": Exit Sub[/COLOR][/B]
Application.ScreenUpdating = False
seuil = InputBox("quel est le seuil ?")
c.SeriesCollection(1).Interior.ColorIndex = 3
For i = 1 To c.SeriesCollection(1).Points.Count
    With c.SeriesCollection(1).Points(i)
        .HasDataLabel = True
        valeur = .DataLabel.Characters.Text
        .HasDataLabel = False
        If valeur >= seuil Then
            c.SeriesCollection(1).Points(i).Interior.ColorIndex = 4
        End If
    End With
Next i
Application.ScreenUpdating = True
End Sub
 

Discussions similaires

Statistiques des forums

Discussions
312 440
Messages
2 088 452
Membres
103 854
dernier inscrit
linzei