Graphique paramétré par rapport une variable définissant la dernière l

Graphique paramétré par rapport une variable définissant la dernière l - VB/VBA/VBS - Programmation

Marsh Posté le 23-04-2008 à 14:57:00    

Bonjour,
 
Je souhaite réaliser une macro qui permet de générer un graphique à partir de donnée dont la longueur peut varier d'un fichier à un autre.
 
J'ai définit une variable "lignevide" qui identifié le nombre de données présent dans le fichier (c'est à dire le nombre de lignes). Je n'arrive pas à intégrer la valeur de cette variable dans la définition de mon graphique
 
J'ai écris:
 

Code :
  1. Charts.Add
  2.     ActiveChart.ChartType = xlXYScatter
  3.     ActiveChart.SetSourceData Source:=Sheets("Feuil3" ).Range("A10: B & lignevide " ), PlotBy:=xlColumns


 
Un message d'erreur apparait : "erreur d'exécution 1004" !!
 
Pourtant lorsque j'écris:
 

Code :
  1. Cells(2, 9).Value = "B" & lignevide


 
, excel me renvoie bien "une concaténation de B et de la valeur de la variable ligne_vide: par exemple B1400.
 
Dès lors, quelle est la syntaxe afin de définir la plage de valeur " du début à la fin" dans le code générant le graphique.
 
Merci d'avance,

Reply

Marsh Posté le 23-04-2008 à 14:57:00   

Reply

Marsh Posté le 23-04-2008 à 17:11:49    

L'examen du code montre un problème d'emplacement des guillemets dans

...Range("A10: B & lignevide "...

Reply

Marsh Posté le 23-04-2008 à 17:52:28    


   Merci pour votre attention,  
 
         Quel serais dès lors la syntaxe à employer?
 
 J'ai également essayé cela :
 

Code :
  1. Dim Derniere_cellule As Variant
  2.        
  3.     Cells(2, 9).Value = "B" & lignevide '<--- me permet de tester la "concaténation"
  4.     Derniere_cellule = Cells(2, 9).Value
  5.        
  6.     Charts.Add
  7.     ActiveChart.ChartType = xlXYScatter
  8.     ActiveChart.SetSourceData Source:=Sheets("Feuil3" ).Range("A10: Derniere_cellule " ), PlotBy:=xlColumns


 
     Sans succès, le probleme provient toujours de l'interprétation de  
 

Code :
  1. Range("A10: Derniere_cellule " )


 
 
 
 
 
 

Reply

Marsh Posté le 23-04-2008 à 22:04:39    

Au lieu de  

Range("A10: Derniere_cellule " )

je mettrais

Range("A10:" & Derniere_cellule)

Reply

Marsh Posté le 23-04-2008 à 22:43:53    


 Merci pour votre aide, voici le code qui fonctionne dès fois que cela puisse être utile à d'autres personnes:
 

Code :
  1. lignevide =range("a65535" ).end(xlup).row+1
  2.   ActiveChart.SetSourceData Source:=Sheets("Feuil3" ).Range("A10:B" & lignevide ), PlotBy:=xlColumns

Reply

Marsh Posté le 23-04-2008 à 22:47:34    

Le topic peut être fermé !!

Reply

Sujets relatifs:

Leave a Replay

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