selection colonnes sous VBA pour confection graphe

selection colonnes sous VBA pour confection graphe - VB/VBA/VBS - Programmation

Marsh Posté le 12-07-2005 à 11:32:32    

 Bonjour à tous,
 
voici le problème que je rencontre sous VBA :
 
j'essaie de selectionner deux colonnes distinctes (par exemple A et C)pour faire un graphique. La ligne de commande utilisée est écrite ci-dessous. Le problème est qu'avec cette formule, je selectionne les colonnes A, B te C.  
 
'comptage du nombre de ligne'
 
Dim j As Integer
Dim nj As String
 
j = 1
nj = CStr(j)
Sheets("graphe" ).Select
While Feuil5.Cells(j, 10).Value <> ""
j = j + 1
Wend
j = j - 1
nj = CStr(j)
 
'selection des colonnes pour faire le graphe'
 
Charts.Add
ActiveChart.ChartType = xlColumnClustered
ActiveChart.SetSourceData Source:=Sheets("graphe" ).Range("A1:C" + nj), PlotBy _
        :=xlColumns
 
j'ai également essayé la formule suivante mais le résultat est le meme :  
 
ActiveChart.SetSourceData Source:=Sheets("graphe" ).Range("A1:A,C1:C" + nj), PlotBy _
        :=xlColumns
 
En espérant une réponse de votre part,
 
Merci d'avance, Capea
 


---------------
cordialement, capea
Reply

Marsh Posté le 12-07-2005 à 11:32:32   

Reply

Marsh Posté le 12-07-2005 à 12:10:46    

Tu veux juste selectionner 2 colonnes ?

Code :
  1. Range("A:A,C:C" ).Select


---------------
Guendalf
Reply

Marsh Posté le 18-07-2005 à 09:05:33    

je te remercie pour ta réponse mais cela ne marche pas bien. Effectivement, je me retrouve à selectionner toute la colonne et de ce fait le graphe m'affiche toute la colonne alors que je n'ai besoin que de quelques lignes.
c'est pour cela que je compte le nombre de ligne par nj. Ainsi si j=15 et bien je ne prend que les 15 premières lignes de la colonne grace .("A1:A,C1:C"+nj) au lieu de prendre toutes les lignes.  
 
Merci


---------------
cordialement, capea
Reply

Marsh Posté le 18-07-2005 à 09:46:43    

capea a écrit :

je te remercie pour ta réponse mais cela ne marche pas bien. Effectivement, je me retrouve à selectionner toute la colonne et de ce fait le graphe m'affiche toute la colonne alors que je n'ai besoin que de quelques lignes.
c'est pour cela que je compte le nombre de ligne par nj. Ainsi si j=15 et bien je ne prend que les 15 premières lignes de la colonne grace .("A1:A,C1:C"+nj) au lieu de prendre toutes les lignes.  
 
Merci


 
Bjr, je peux te proposer une autre méthode que j'utilise souvent.
insertion>nom>définir>ajouter>"nom facile"
fait référence à  
(cas où tu n'as qu'une feuille à gérer)
=DECALER($A$2;;;NBVAL(CDB!$A:$A)-1;)
ici tu fait commencer ta colonne à A2, sinon tu mets $A$1 etc.
idem pour ta colonne C
=DECALER($C$2;;;NBVAL(CDB!$C:$C)-1;)
tu récupere le nom de tes deux fonctions (colA et colC dans l'exemple) et tu selectionnes comme suit:
Range("colA,colC" ).Select
 
c bon?

Reply

Marsh Posté le 18-07-2005 à 10:20:32    

problème :
 
il refuse de prendre ta formule telle que tu l'as écrite
=DECALER($A$2;;;NBVAL(CDB!$A:$A)-1) il me rajoute automatiquement le nom de la feuille comme suit :
 
=DECALER(graphe!$A$2;;;NBVAL(CDB!$A:$A)-1)
 
et ca ne marche pas. Je ne sais pas si ca vient de là ???


---------------
cordialement, capea
Reply

Marsh Posté le 18-07-2005 à 10:22:55    

capea a écrit :

problème :
 
il refuse de prendre ta formule telle que tu l'as écrite
=DECALER($A$2;;;NBVAL(CDB!$A:$A)-1) il me rajoute automatiquement le nom de la feuille comme suit :
 
=DECALER(graphe!$A$2;;;NBVAL(CDB!$A:$A)-1)
 
et ca ne marche pas. Je ne sais pas si ca vient de là ???


au temps pour moi!
G récupérer ca d'une de mes feuilles!
remplace le CDB! par graphe! ce qui donne
=DECALER(graphe!$A$2;;;NBVAL(graphe!$A:$A)-1;)
le ;) est en fait un ; puis un )


Message édité par jyp1901 le 18-07-2005 à 10:23:32
Reply

Marsh Posté le 18-07-2005 à 10:58:50    

ca marche c'est super.
 
Je te remercie beaucoup pour tes réponses rapides et efficace. A+


---------------
cordialement, capea
Reply

Marsh Posté le 18-07-2005 à 11:10:40    

capea a écrit :

ca marche c'est super.
 
Je te remercie beaucoup pour tes réponses rapides et efficace. A+


de rien, mais pour accelerer le tout, je te propose de mettre un [RESOLU] devant ton sujet :p

Reply

Sujets relatifs:

Leave a Replay

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