Afficher les valeurs d'un tableau Excel sous forme de cercles ?

Afficher les valeurs d'un tableau Excel sous forme de cercles ? - VB/VBA/VBS - Programmation

Marsh Posté le 11-08-2004 à 17:53:03    

Voilà mon problème : à partir d'une plage de cellules sous excel contenant différentes valeurs, j'aimerais pouvoir afficher des cercles de diamètre correspondant à chaque valeur.
 
Je m'explique : voici une plage de cellules avec des valeurs :
 
   | 1 | 2 | 3 |
----------------
A  |10 |45 |0.2|
 
voilà le tableau que j'aimerais obtenir :
 
   | 1 | 2 | 3 |
----------------
A  | o | O | . |
 
où le diamètre de chacun des 3 cercles est proportionnel aux 3 valeurs correspondantes dans le tableau précédent.
 
Je précise que la partie graphique (ie avec les cercles) n'est pas forcément sur la même feuille, ou sur une autre feuille. Ca peut être un objet indépendant qui est juste relié à Excel pour récupérer les valeurs.
 
Avez-vous une suggestion concernant la solution ? Nous avons bien pensé à du VBA dans une feuille Excel, mais je voulais savoir s'il était possible d'avoir un truc un peu plus abouti.
 
Si par la même occasion, vous avez un petit bout de code sur quelque chose du même acabit, cela nous permettrait de ne pas débuter à partir de rien du tout.
 
Merci d'avance !


Message édité par irulan le 11-08-2004 à 18:07:15
Reply

Marsh Posté le 11-08-2004 à 17:53:03   

Reply

Marsh Posté le 12-08-2004 à 10:20:35    

Pas d'idée ?

Reply

Marsh Posté le 12-08-2004 à 15:57:40    

Salut Irulan,
 
Ma suggestion serait basée sur une insertion de formes automatiques, comme ceci :
 
Sub Cercles()
Dim I As Integer, Taille As Single, Gauche As Single
Gauche = 39
For I = 1 To 5
    Taille = Range(Chr(64 + I) & 1)
    ActiveSheet.Shapes.AddShape(msoShapeOval, Gauche - (Taille / 2), 50, Taille, Taille).Select
    Selection.ShapeRange.Fill.ForeColor.SchemeColor = 32
    Gauche = Gauche + 78
Next
    Range("E10" ).Select
End Sub
 
Ce code lit les données dans les cellules A1 à E1 puis trace les cercles correspondants.
Il s'agit d'une macro à placer dans un module de code.
 
A+
Horatio
 

Reply

Marsh Posté le 13-08-2004 à 10:53:31    

Merci Horatio :hello:


Message édité par irulan le 13-08-2004 à 10:54:03
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed