Microsoft 365 Afficher une forme à un endroit précis en fonction du contenu d'une cellule

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 !

toutazimut

XLDnaute Nouveau
Bonjour à tous;
Je vous souhaite une belle et heureuse année 2021! Puisse t'elle être meilleure que la précédente!!!!
Je souhaitais demander des conseils pour une macro commande...
Dans un tableau j'ai des valeurs (image ci-dessous ou cf fichier joint). en fonction de ces valeurs, une bulle, s'affiche automatiquement sur un graphique. La grosseur de la bulle dépend de la valeur dans la cellule (valeur n’excédant pas 50%). Jusque là, tout va bien, je me suis fait aider ! En revanche, sur le graphique, tant sur les ordonnées que sur les abscisses, il y a une échelle (de 0 à 50%).
1611064877430.png

Je souhaiterais que les bulles, une fois la valeur dans le tableau renseignée , puissent se placer automatiquement sur l'échelle des valeurs
Je ne sais pas si je me fais bien comprendre !?
La lecture du fichier en attaché vous sera plus parlante
Je vous remercie d'ores et déjà pour vos retours et conseils.
Bonne après midi
Cordialement
 

Pièces jointes

Bonjour,

Pour obtenir une meilleure précision sur les emplacements, il faut réduire la taille des colonnes, puis pour chaque ellipse, sélectionner la cellule qui servira de référence.
Vous pouvez affiner un peu plus en réduisant encore la largeur des colonnes et en augmentant le nombre.

le code
VB:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    With ActiveSheet.Shapes("Ellipse 9")
        .Height = Range("Q9").Value * 300
        .Width = Range("Q9").Value * 300
        .Top = Range("B11").Top
        .Left = Range("B11").Left
    End With
    With ActiveSheet.Shapes("Ellipse 10")
        .Height = Range("Q10").Value * 300
        .Width = Range("Q10").Value * 300
        .Top = Range("F11").Top
        .Left = Range("F11").Left
     End With
    With ActiveSheet.Shapes("Ellipse 6")
        .Height = Range("Q11").Value * 300
        .Width = Range("Q11").Value * 300
        .Top = Range("I14").Top
        .Left = Range("I14").Left
     End With
    With ActiveSheet.Shapes("Ellipse 7")
        .Height = Range("Q12").Value * 300
        .Width = Range("Q12").Value * 300
        .Top = Range("K19").Top
        .Left = Range("K19").Left
     End With
    With ActiveSheet.Shapes("Ellipse 8")
        .Height = Range("Q13").Value * 300
        .Width = Range("Q13").Value * 300
        .Top = Range("L29").Top
        .Left = Range("L29").Left
     End With
End Sub

Cdlt
 

Pièces jointes

Bonjour,

Pour les précisions que vous demandez, il y a un petit problème, en effet, votre support (image d'un graphique) est figé, or vous dites "En revanche, sur le graphique, tant sur les ordonnées que sur les abscisses, il y a une échelle (de 0 à 50%)." et l'échelle sur l'image s'arrête à 35%, cela veut-il dire que vous aller changer d'image si les pourcentages dépassent les 35%?

Cdlt
 
Bonjour;
Je vous remercie vivement pour votre retour ainsi que pour votre proposition. Effectivement il y a une image en fond.
Mais l'idéal serait de suivre le schéma dont je vous ai mis une image sur le fichier: chaque boule comme sur le schéma doit rester sur une même ligne...
Je reste bien entendu à votre entière disposition pour vous apporter de plus amples précisions.
Je vous remercie encore pur votre aide précieuse.
Cordialement
Jérôme Vialard
 

Pièces jointes

Bonjour,

Voici une présentation qui collerait à votre demande.
Le problème rencontré de mon côté vient du fait qu'il m'a fallu refaire un graphe dessiné qui ressemble au votre et à partir de ce dessin y apporter les boules qui seront placées suivant les valeurs attribuées.
Or, le dessin étant assez approximatif et les calculs de placement étant plutôt précis, l'approximation et la précision ne font pas bon ménage, d'où le résultat visuel n'est pas parfait selon les valeurs des pourcentages saisis.

Le fonctionnement:
Dès qu'une valeur est saisie (ne pas saisir "%", c'est ajouté automatiquement), le graphique est mis à jour dans la foulée. Malgré le manque de précision, j'espère que cela pourra vous convenir.

le rendu visuel:


toutazimut.JPG
 

Pièces jointes

Bonjour;
Encore une fois je vous remercie pour votre retour. Quel travail !!!
Vous auriez du me le dire je vous aurai refait le fichier notamment l'image que vous avez du recréer !
Autre remarque et j'en arrêterai là!!!!
Comment augmenter la taille des bulles notamment quand on a une valeur de 30% = avoir la diamètre de la bulle au moins égal à l'écart entre les 2 flèches?
Je reste à votre disposition pour vous apporter plus de précisions.
En vous remerciant vivement pour votre aide !
Cordialement
Jérôme Vialard
 
Bonjour,

Je ne vous ai pas oublié, mais je n'avais pas suffisamment de temps à y consacrer.
Voilà, j'ai tout repris mais malgré cela, j'ai beaucoup de difficulté avec les précisions, mais je pense que cela devrait vous convenir quand même.

Pour compenser le manque de précision, en plus des tailles modulables en fonction des valeurs saisies dans la plage AN1:AN5, j'affiche les valeurs dans chacune des 5 boules.


Cdlt
 

Pièces jointes

Bonjour

Voilà le fichier. J'ai prévu un affichage jusqu'à une échelle de 60 (j'ai été peut-être un peu trop optimiste). s'il faut le réduire, je peux le refaire mais ça prend un peu de temps.
En attendant voici quelques recommandations:
-ne modifiez rien sur cette feuille, ni la hauteur des lignes, ni la largeur des colonnes, ne déplacez pas le graphique. Tous les tracés sont construits avec précision par rapport à l'ensemble des éléments lignes et colonnes.
Le graphique se met à jour dès que l'on change une valeur "Panique, Défi, Performance, etc..."

Cdlt
 

Pièces jointes

Suite au message précédent ce jour, j'ai revu ma copie et modifié le graphique pour le ramener à u,ne taille maxi de 50, j'espère que cela vous conviendra mieux.

Cdlt
 

Pièces jointes

Bonsoir
Encore un grand merci pour votre aide. Pensez-vous qu'il soit possible de faire tenir l'ensemble de ce graphique sur une feuille A4? J'ai essayé de masquer des colonnes mais forcement j'ai un message d'erreur du code que vous avez créé !
Mais à condition que cela ne vous demande pas un gros travail, vous en avez déjà fait suffisamment !!!!!
Ensuite, auriez vous une idée du code d'impression en pdf, afin que le fichier généré depuis ce bouton puisse aller quelque soit le PC, sur le bureau?
En vous remerciant de nouveau pour cette aide précieuse...
Cordialement
 
Bonjour,

Voilà, j'ai ajouté une bouton "Imprimer en PDF", la zone d'impression est paramétrée pour occuper le maximum de place sur une feuille A4 sans trop de distorsion du graphique.

Cdlt
 

Pièces jointes

- 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

Retour