Eviter le chevauchement de plusieurs rectangles - Excel


  • L

    Bonjour à tous,

    Je travaille beaucoup sur Excel et je rencontre aujourd'hui une difficulté.

    J'ai créé un graphique à barre dynamique dans mon fichier Excel.
    Pour chaque barres du graphique, j'ai une étiquette de donnée (ED) qui indique le nom de la barre et sa valeur.

    Le problème c'est que tout se chevauche tout le temps et donc c'est illisible.

    je cherche une solution mathématique qui me permettrait d'éviter ces chevauchements et c'est pourquoi je vous demande aujourd'hui votre aide. D'habitude je cherche sur les forums dédiés à Excel mais pour ce cas présent, je pense que votre forum est plus adapté à mon problème.

    Les informations dont je dispose :

    • Je connais les dimensions du graphique (Hauteur/largeur = 1000, Longueur = 2000) => Nommé le "cadre" par la suite.
    • Je connais les dimensions des étiquettes de données (ED) ainsi que leur position dans le cadre.
      élément de listeED de la barre 1 : ED1
      Hauteur = 10 ;
      Longueur = 20 ;
      Top = 50 ; (La barre supérieur du rectangle ED1 se situe à 50 unité de la barre supérieur du cadre)
      Left = 20. (La barre gauche du rectangle ED1 se situe à 20 unité de la barre gauche du cadre)

      élément de liste ED de la barre 2 : ED2
      Hauteur = 45 ;
      Longueur = 25 ;
      Top = 20 ; (La barre supérieur du rectangle ED2 se situe à 20 unité de la barre supérieur du cadre)
      Left = 35. (La barre gauche du rectangle ED2 se situe à 35 unité de la barre gauche du cadre)

      Etc. Jusque EDn

    Dans cette exemple on peut voir que la surface ED2 chevauche la surface de ED1.

    J'ai une petite idée pour trouver une solution à mon problème mais elle ne me convient pas trop.
    Elle consiste en plusieurs étapes :
    1ere étape : Créer sur une feuille excel les dimensions du cadre et mettre toutes les cellules à l'intérieur en couleur (bleu par exemple).
    2ème étape : Changer la couleur des cellules représentant ED1 (mettre en jaune)
    3ème étape : Avant de position ED2, je regarde si les cellules correspondant à ses coordonnées sont toutes en bleu.
    Si tout est bleu alors pas de problème je peux positionner ED2.
    Si présence de jaune alors je modifie la variable "Top" jusqu'à ne plus avoir de jaune sur l'emplacement de ED2.

    4eme étape : répéter l’étape 3 jusque EDn

    Merci par avance pour vos réponses

    Lixil