graphique cercle+étiquettes avec condition

  • Initiateur de la discussion Initiateur de la discussion lyna
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

lyna

XLDnaute Junior
BONJOUR A TOUT LE MONDE

Avant tout je remercie beaucoup ce forum qui m’a aidé à résoudre plusieurs problème et j’espère que dans peu de temps je pourrais retransmettre ce que j’ai appris à d’autres personnes sur le forum.

Ce que je vous demande aujourd’hui si quelqu’un a une solution au pb des étiquettes de données sur un graphique en cercle pour n’afficher que les étiquettes qui sont supérieure à un certain pourcentage. (5% par exemple)

J’ai réussi à avoir ça uniquement quand je coche (pourcentage) dans format des étiquettes.
Moi je voudrais afficher le pourcentage et l’étiquette elle-même avec, la condition c'est-à-dire : ne l’afficher que si elle est supérieure à 5% ?

Je ne sais pas si je me suis bien exprimée .si vous voyez que c’est nécessaire je pourrais vous envoyer le fichier.

merci d'avance
 
Re : graphique cercle+étiquettes avec condition

Bonjour Lyna,

Un début de piste avec le code ci-dessous qui s'applique à un graph "secteur", attention cependant l'objet DataLabel n'a pas de propriété value donc j'ai essayé avec la propriété text qui comme son nom l'indique renvoie une chaine de caractères. A voir si ca marche dans tous les cas, a tester donc.


Code:
Sub SupprimeEtiquette()
Dim p As Point
For Each p In ActiveChart.SeriesCollection(1).Points
If p.DataLabel.Text > "1%" Then _
    p.DataLabel.Delete
Next p
End Sub

Bonne journée
@+
 
Re : graphique cercle+étiquettes avec condition

MERCI POUR TON AIDE.

j’ai un message d’earreur sur ta macro, Comme je suis très débutante en vba, je ne sais pas de quoi il s’agit.
est ce que tu peux appliquer la macro dans le fichier que je t’ai joint ?

MERCI.
 

Pièces jointes

Re : graphique cercle+étiquettes avec condition

Re Lyna

j ai modifié un peu le code, mais moi je n'ais pas eus de message d'erreur, par contre tu dois selectionner le graphique pour que cela fonctionne.

Je ne suis pas un pro des fonction mais celle que j'ai concocté à l'air de marcher, enfin c'est à voir et à tester.

Code:
Sub SupprimeEtiquette()
Dim p As Point, maval As String
    For Each p In ActiveChart.SeriesCollection(1).Points
        maval = Left(Right(p.DataLabel.Text, 3), 2)
        If maval < 5 Then p.DataLabel.Delete
    Next p
End Sub

N'hésites pas à revenir au besoin
bonne journée
@+
 
Re : graphique cercle+étiquettes avec condition

Merci pierrot93
Effectivement ça marche parfaitement.
Par contre est ce que c’est possible de spécifier le pourcentage dans une cellule et le code pourra le lire sur la cellule, de sorte à ce que je n’aurais pas à renter dans le code à chaque fois que j’ai besoin de changer le %
Merci beaucoup
 
Re : graphique cercle+étiquettes avec condition

re Re Lyna,

Oui a priori c'est possible, j'ai remodifié, mais j ai pas testé...

Code:
Sub SupprimeEtiquette()
Dim p As Point, maval As String
    For Each p In ActiveChart.SeriesCollection(1).Points
        maval = Left(Right(p.DataLabel.Text, 3), 2)
        If maval < worksheets("NomDeTaFeuille").range("A1").value Then p.DataLabel.Delete
    Next p
End Sub

@+
 
Re : graphique cercle+étiquettes avec condition

Il y a un pb
Cette fois ci quand j’exécute la macro elle ne laisse que les étiquettes dont les chiffre est composé de deux numéro , tout les autres elle les supprime.
pouvez vous m'expliquer pour quoi?
 
Re : graphique cercle+étiquettes avec condition

Re Lyna

ci deqssous nouveau code

Code:
Sub SupprimeEtiquette()
Dim p As Point, maval As String, MaVal2 As Byte
MaVal2 = Worksheets("PrG1b").Range("A1").Value
    For Each p In ActiveChart.SeriesCollection(1).Points
        maval = Left(Right(p.DataLabel.Text, 3), 2)
        If maval < MaVal2 Then p.DataLabel.Delete
    Next p
End Sub

Bonne soirée
@+
 
Re : graphique cercle+étiquettes avec condition

Merci beaucoup ça marche trés trés bien , une dérrnière chose si ça te dérange pas de m'éxpliquer les lignes de cettes macro
notamment
maval = Left(Right(p.DataLabel.Text, 3), 2) le 3 et 2 ça correspond à quoi?
 
Re : graphique cercle+étiquettes avec condition

Bonjour
Les fonctions left et rigth permettent de prendre les N caractèères de gauche ou de droite (respectivement) d'une chaîne.
et 3 correspondent au N (nombre de caractères) des 2 fonctions utilisées ici en imbrication.
 
Re : graphique cercle+étiquettes avec condition

Re lyna

cette ligne me permet d'aller rechercher le texte contenu dans l'étiquette.
right est la fonction qui retourne les 3(argument 3) derniers caractères de l'étiquette, à laquelle j'applique une autre fonction (left) retournant les 2 premiers cvaractères (argument 2) du résultat donné par la fonction right.
p.DataLabel.Text represente le texte contenu dans l'étiquette, p étant chaque point de ta série.

J'espère que mes explications sont claires, pas evident d'expliquer comme ca ...

Bonne soirée
@+
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
393
Réponses
1
Affichages
499
Retour