Afficher un graphe avec données variables dans une userfom dans Excel

benito28 Messages postés 8 Date d'inscription mercredi 25 avril 2007 Statut Membre Dernière intervention 17 mai 2007 - 17 mai 2007 à 21:02
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 - 18 mai 2007 à 02:35
Bonsoir à toutes et à tous,

    Je bloque depuis des heures sur un satané problème : dans VBA pour Excel, comment afficher un graphique dans un cadre image d'une userform (ça j'y arrive) quand ses valeurs prises sur une feuille Excel varient (ça j'y arrive pas... (soupirs)...) ???
En fait, dan ma feuille Excel, j'ai :
- une liste de noms  dans la colonne A à partir de A2 jusqu'à A75
- une liste de produits sur la ligne 1 à partir de E1 à H1
- et dans les cellules "intersection" entre un nom et un produit (par exemple G36), j'ai le nombre de produit que la personne a consommé  et en fait, je souhaite afficher un graphique dans le cadre image,où l'on verra le nombre de chacun des produits (E, F, G, et H) consommés par l'utilisteur qui est selectionné dans une liste déroulante... (c'est-à-dire en abscisse les produits, donc les cellules E1,F1,G1,H1, et en ordonnée le nombre de produits consommés (c'est à dire les cellules E,F,G, et H de la ligne de la personne selectionnée)

    J'ai écris ça :

Ligne = nom.ListIndex + 2
Range("E1:H1,"E" & Ligne : "H" & Ligne).Activate    <--c'est ici que ça fouare, je ne sait pas ou mettre les et  les & Ligne
Charts.Add
    ActiveChart.ChartType = xlColumnClustered
    ActiveChart.SetSourceData Source:=Sheets("1Ai").Range("E1:H1,E6:H6")
ActiveChart.Location Where:=xlLocationAsObject, Name:="1Ai"

Si vous trouvez quelque chose,  faites moi signe s'il vous plaît ..... MERCI BEAUCOUP (d'avance.....................) !!!
MERCI

Je vous souhaite une bonne soirée.

Benito

2 réponses

chapaleufu Messages postés 29 Date d'inscription samedi 28 décembre 2002 Statut Membre Dernière intervention 19 mai 2007
17 mai 2007 à 21:22
pour eviter de me faire escagasser par les guillemets, je prefere travailler en reference R1C1 et avec ranges du type "(cells(i,j), cells(k,l))", c'est beaucoup plus simple s'il y a des variables (enfin moi je trouve !)

pour un range comme pour une feuille on utilise l'instruction select ou with mais pas activate (ca, c'est pour le wb)
0
mortalino Messages postés 6786 Date d'inscription vendredi 16 décembre 2005 Statut Membre Dernière intervention 21 décembre 2011 18
18 mai 2007 à 02:35
Salut,

c'est Range("E1:H" & Ligne).Select
Sinon, pour ton histoire de réactualisation, il suffit de surveiller la plage de tes données variables, avec l'évènement Selection_Change de la feuille concernée, dès changement dans cette zone, t'enregistre le graphique en gif, puis tu l'importes dans ton UserForm.
Pas plus simple ?

@++

<hr size="2" width="100%" />
  --Mortalino--
Le mystérieux chevalier, ~Provençal, le Gaulois~
  
0
Rejoignez-nous