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.
10.0.0.0.1 192.168.1.254
Le problème 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 en plaçant les étiquettes de données en fonction des précédentes (via Visual Basic).
D'habitude je cherche sur les forums dédiés à Excel mais pour ce cas présent, je pense qu'un forum mathématique est plus adapté à mon problème.
Les informations dont je dispose :
- Je connais les dimensions du graphique (Hauteur = 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.
ED de la barre 1 : ED1
Hauteur = 10 ;
Longueur = 20 ;
Top = 50 ; (La barre supérieur du rectangle ED1 se situe à 50 unités de la barre supérieur du cadre)
Left = 20. (La barre gauche du rectangle ED1 se situe à 20 unités de la barre gauche du cadre)
ED de la barre 2 : ED2
Hauteur = 45 ;
Longueur = 25 ;
Top = 20 ; (La barre supérieur du rectangle ED2 se situe à 20 unités de la barre supérieur du cadre)
Left = 35. (La barre gauche du rectangle ED2 se situe à 35 unités 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 positionner 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
Je ne sais pas si c'est possible de faire la même chose mais via une formule ou matrice... je sais pas trop. Je cherche des pistes de réflexion.
Merci par avance pour vos réponses