Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1034 connectés 

  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Graphique et légende dynamique

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Graphique et légende dynamique

n°1416635
clems7516
Posté le 31-07-2006 à 14:50:49  profilanswer
 

Voila,  
 
j'ai ecrit une fonction qui me trace les graphique d'un talbeau avec une boucle. Le programme marche bien sauf qu'il se pose un probleme pour la légende qui ne suit pas. Je m'explique avec ce petit bout de code :  
 
Set ns = nc.SeriesCollection.NewSeries
ns.XValues = maSelectionAnn
ns.Values = maSelectionVal
nomCompany = objxlSheetVal.Range("nomCompany" )
ns.Name = nomCompany  
 
or Ns.Name est un String est donc il prend la valeur de la cellule de nomCompany alors que je souhaiterai qu'il y ait sa réference car si je change la valeur de nomCompany cela ne change rien elle reste celle d'origine.  
 
Donc, mon graphique ne veut plus rien dire du tout.  
 
Merci de votre aide et A bientot ;)


Message édité par clems7516 le 31-07-2006 à 14:58:00
mood
Publicité
Posté le 31-07-2006 à 14:50:49  profilanswer
 

n°1416644
jpcheck
Pioupiou
Posté le 31-07-2006 à 14:55:19  profilanswer
 

ta ligne de commande ns.XValues = maSelectionAnn apparait 2 fois (utile ?)
 
a quel moment lances-tu  ces assignations de valeurs (évènement ?)

n°1416650
clems7516
Posté le 31-07-2006 à 14:57:37  profilanswer
 

Non, cela est inutile mauvais copier coller :)  
 
Sinon je lance a la fin de creation de mon tableau !  
 
mais, je souhaite que cela soit dynamique car il y a un bouton sort donc le graphique doit etre dynamique !

n°1416653
jpcheck
Pioupiou
Posté le 31-07-2006 à 14:59:33  profilanswer
 

clems7516 a écrit :

Non, cela est inutile mauvais copier coller :)  
 
Sinon je lance a la fin de creation de mon tableau !  
 
mais, je souhaite que cela soit dynamique car il y a un bouton sort donc le graphique doit etre dynamique !


et la fonction range("nomcompany" ).value ne fonctionnerait pas ?

n°1416656
clems7516
Posté le 31-07-2006 à 15:00:33  profilanswer
 

Non, car elle prend la valeur de la cellule et au contraire je veux juste la reference !

n°1416658
clems7516
Posté le 31-07-2006 à 15:01:51  profilanswer
 

en fait, le probleme est le .Name qui est un String est non une Cellule !

n°1416660
jpcheck
Pioupiou
Posté le 31-07-2006 à 15:03:36  profilanswer
 

clems7516 a écrit :

en fait, le probleme est le .Name qui est un String est non une Cellule !


et la varialbe nomCompany c'est pas un string ?

n°1416662
clems7516
Posté le 31-07-2006 à 15:05:06  profilanswer
 

Si, c est un string !  
 
mais si je mets Range ca me met Type dismatch

n°1416670
jpcheck
Pioupiou
Posté le 31-07-2006 à 15:09:28  profilanswer
 

clems7516 a écrit :

Si, c est un string !  
 
mais si je mets Range ca me met Type dismatch


range("nomCompany" ).value  alors ? :sweat:

n°1416675
clems7516
Posté le 31-07-2006 à 15:12:35  profilanswer
 

Helas, c est tjrs pareil il prend la valeur et non la reference de la cellule  
 
Je tourne en rond :!

mood
Publicité
Posté le 31-07-2006 à 15:12:35  profilanswer
 

n°1416676
clems7516
Posté le 31-07-2006 à 15:12:58  profilanswer
 

Encore, des idées ou des possibilités ?

n°1416679
jpcheck
Pioupiou
Posté le 31-07-2006 à 15:14:16  profilanswer
 

clems7516 a écrit :

Encore, des idées ou des possibilités ?


qu'appelles-tu la référence de la cellule ? :pt1cable:

n°1416685
clems7516
Posté le 31-07-2006 à 15:18:38  profilanswer
 

imagines que dans la colonne A, il y ait mes noms de legende  
 
test1
test2
test3
 
Maintenant, je veux que ma premiere serie se nomme la Premiere cellule donc ici ce serait test1 Mais, si je fais un changement sur mon tableau (que tu pourrais imaginer avec un bouton SOrt qui me trie mon tableau) alors la premiere serie pourrait mainteant se nommer test3.
 
Or, mon graphique dans l'etat actuel ne s'appelle que test1 pour la serie 1 et si je change la valeur de "test1" en "change" cela ne change rien !!!


Message édité par clems7516 le 31-07-2006 à 15:19:21
n°1416689
jpcheck
Pioupiou
Posté le 31-07-2006 à 15:25:11  profilanswer
 

si tu modifies l'ordre des test par ex.:
test2
test3
test1
 
et si alors ta série 1 s'appelle test2
                  série 2 s'appelle test3
et               série 3 s'appelle test1
 
alors au lieu de passer par des range(), tu peux directement passer par des cells() non ?
 :whistle:  :whistle:

n°1416694
clems7516
Posté le 31-07-2006 à 15:33:45  profilanswer
 

j'ai pas compris !?

n°1416702
jpcheck
Pioupiou
Posté le 31-07-2006 à 15:40:20  profilanswer
 

si tu appliques un quelconque filtre sur l'ordre de tes nom de compagnie, au lieu de récupérer une zone range ("nomcompany" ) tu peux récupérer une cells(1,1) par exemple... non?

n°1416705
clems7516
Posté le 31-07-2006 à 15:47:38  profilanswer
 

Cells ou/et Range ne marche, je viens de le tester :/
 
une autre petite idée ?

n°1416708
jpcheck
Pioupiou
Posté le 31-07-2006 à 15:52:56  profilanswer
 

Je vais aborder le pb d'une facon différente alors ^^ :
Pourquoi passes-tu par objxlSheetVal.Range("nomCompany" ) ? Qu'est-ce que c'est sensé te retourner ?

n°1416710
clems7516
Posté le 31-07-2006 à 15:59:18  profilanswer
 

c est un moyen comme un autre de reperer ma premiere cellule dans le cas d'un delete ou insert de ligne ou colonne, cette cellule la ne sera pas perdu !

n°1416711
clems7516
Posté le 31-07-2006 à 15:59:32  profilanswer
 

Tu aurais fait comment toi ?

n°1416717
jpcheck
Pioupiou
Posté le 31-07-2006 à 16:09:29  profilanswer
 

ben tu définis une zone dans ta feuille où tu gèreras les noms de compagnies. par exemple Tu décides d'utiliser la colonne C de la Feuil2. Pour qu'à chaque ajout de nom tu le mettes en dessous, tu lui applique la fonction =DECALER... Et tu applique le .Name selon ton range("NomCompany" ) défini comme tel...

n°1417206
clems7516
Posté le 01-08-2006 à 09:42:14  profilanswer
 

Je te remercie de ton aide mais je n'ai pas réussi à le faire marcher par conséquent aurais tu essayer ou bien meme un bout de code pour que je comprenne mieux ta méthode !  
 
Merci encore et Merci d'avance de vos aides :)

n°1417220
jpcheck
Pioupiou
Posté le 01-08-2006 à 09:53:49  profilanswer
 

clems7516 a écrit :

Je te remercie de ton aide mais je n'ai pas réussi à le faire marcher par conséquent aurais tu essayer ou bien meme un bout de code pour que je comprenne mieux ta méthode !  
 
Merci encore et Merci d'avance de vos aides :)


1/tu nommes la zone où tu affiches les nom de compagnie "NomCompany" par exemple.
2/ tu ajoutes une fonction =DECALER() avec en arguments :
    -réf;lignes;colonnes;hauteur;largeur (voir aide pour les détails)
3/tu lies la rowsource de ta combo avec Feuil1!NomCompany (ou FEuil2 etc. par exemple)
4/lorsque tu souhaites appliquer un tri sur le nom de compagnie, tri à bulles ou auter, tu as déjà tout au bon endroit...
C'est compris ou je fais caca aussi ? :D
 

n°1417235
clems7516
Posté le 01-08-2006 à 10:09:44  profilanswer
 

Es tu sur ke ca marche ?

n°1417240
jpcheck
Pioupiou
Posté le 01-08-2006 à 10:12:08  profilanswer
 

clems7516 a écrit :

Es tu sur ke ca marche ?


c'est comme ca que j'ai développé tout une macro de simulation de coûts oui. Le code, je ne le connais pas par coeur, mais as tu essayé ? :)

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  VB/VBA/VBS

  Graphique et légende dynamique

 

Sujets relatifs
Comment inserer un Objet OLE ou graphique dans une table paradox?Entête dynamique
affichage dynamique d'un calcul dans une balise (newbie inside)probleme graphique
ajout dynamique de variables dans un objetFiltres tableau croisé dynamique
procédure évenementielle dynamique ?? oui mais...liste déroulante dynamique
Excel - Déplacement graphique[java][jfreechart] présentation de la légende
Plus de sujets relatifs à : Graphique et légende dynamique


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR