cs_adri37
Messages postés10Date d'inscriptionlundi 2 février 2009StatutMembreDernière intervention24 novembre 2009
-
5 févr. 2009 à 18:39
cnt
Messages postés219Date d'inscriptionlundi 21 novembre 2005StatutMembreDernière intervention20 décembre 2010
-
11 févr. 2009 à 17:39
Bonjour,
Je travaille en VBA excel.
Je voudrai selectionner la 1ère ligne d'un tableau excel à partir de la colonne i jusquà la colonne j ,
i et j étant des variables. Je ne vois pas comment il faut faire. Quelqu'un pourrait-il m'aider?
Merci
cnt
Messages postés219Date d'inscriptionlundi 21 novembre 2005StatutMembreDernière intervention20 décembre 20101 10 févr. 2009 à 19:54
Si j'ai bien compris, essaye cela
Sub toto()
Dim LaPlage As Range
Dim i As Integer, j As Integer
i = 1
j = 5
ActiveWorkbook.Worksheets("232 Tableau").Select
Set LaPlage = Range(Cells(1, i), Cells(1, j))
ActiveWorkbook.Charts.Add
ActiveChart.SeriesCollection.Add LaPlage
End Sub
cs_adri37
Messages postés10Date d'inscriptionlundi 2 février 2009StatutMembreDernière intervention24 novembre 2009 11 févr. 2009 à 09:28
Merci cnt, j'ai un peu modifié ce que tu m'as donnée mais la base viens de toi!!
Je me suis aidé de ce que j'ai pu trouvé sur internet mais bon il y a des morceaux de code que je ne comprend pas (ce que j'ai écris en rouge) mais bon ça fonctionne c'est le principal!!
Dim axe_x As Range, axe_y As Range, axe_y2 As Range, axe_y3 As Range
Sheets("Tableau des donnees").Select
Set axe_x = Worksheets("Tableau des donnees").Range(Cells(1, i), Cells(1, j))
Set axe_y = Worksheets("Tableau des donnees").Range(Cells(k, i), Cells(k, j))
Charts.Add 'ajoute un graphique
ActiveChart.ChartType = xlColumnClustered 'Type du graphique (ici histogramme)
ActiveChart.SetSourceData Source:=Sheets("Tableau des donnees").Range("I23") '?? mais utile sinon bug
ActiveChart.SeriesCollection.NewSeries 'Crer une nouvelle série pour le graphique
'Valeur pour l'axe des x
ActiveChart.SeriesCollection(1).XValues = "=" & axe_x.Address(True, True, xlR1C1, True)
'Valeur pour l'axe des y
ActiveChart.SeriesCollection(1).Values = "=" & axe_y.Address(True, True, xlR1C1, True)
'Légende du graphique "Temps d'ouverture"
ActiveChart.SeriesCollection(1).Name = "MTBF : " & legende
'Positionnement du graphique en tant qu'objet dans l'onglet "Graphique"
ActiveChart.Location Where:=xlLocationAsObject, Name:="Graphique" 'Ajoute le graphique comme étan un objet de la feuille graphique
cs_Jack
Messages postés14007Date d'inscriptionsamedi 29 décembre 2001StatutModérateurDernière intervention28 août 201579 5 févr. 2009 à 20:12
Salut
Si c'est du VBA, c'est pas du .Net --> Catégorie de la question modifiée
La syntaxe classique est
Range("A1:Z1")Il te suffit donc de recréer la chaine "A1:Z1" avec tes paramètres Col1 "A" et Col2 "Z" :
Range(Col1 & "1:" & Col2 & "1")
Vala
Jack, MVP VB NB : Je ne répondrai pas aux messages privés
<hr />Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
cs_adri37
Messages postés10Date d'inscriptionlundi 2 février 2009StatutMembreDernière intervention24 novembre 2009 9 févr. 2009 à 09:55
Merci pour vos réponses mais je n'arrive pas à les mettre en place.
En faite la sélection queje cherche à réaliser doit me servir à créer un graphique. Voici un morceau du code que j'ai récupéré en enregistrant une macro. Ici mes "numéros" de colonne sont fixe (C et N) alors que je souhaiterai qu'ils soient variables. Mes "numéros" de colonnes sont stockés dans deux variables i et j. Le problème c'est que ces variables sont des entiers alors que les "numéros" de colonne sont des lettres, je ne peux donc pas les insérer dans la formule ci dessous.
ActiveChart.SeriesCollection(1).XValues = Worksheets("232 Tableau").Range("C1:N1")
--> cnt : Le code proposé ne fonctionne pas je pense que c'est parce que x n'est pas déclaré mais je ne sait pas sous quel type la déclarer.
cnt
Messages postés219Date d'inscriptionlundi 21 novembre 2005StatutMembreDernière intervention20 décembre 20101 11 févr. 2009 à 17:39
Salut Adri37
Heureux que tu ais trouver du grain à moudre à partir de mon exemple. Il me semble que tu n'as pas d'AIDE sur Visual Basic pour Excel. Je joints quelques infos sur certaines méthodes et arguments que tu as mis en rouge.
SetSourceData
: Définit la plage de données source du graphique.
<title>SetSourceData, méthode</title><style><![CDATA[import url(/Office.css);]]></style><link disabled="" href="/MSOffice.css" type="text/css" rel="stylesheet" />Chart..SetSourceData(Source,
PlotBy)
Source Argument de type Range obligatoire.
Plage qui contient les données source.
PlotBy Argument de type Variant facultatif.
Indique la façon dont les données sont tracées. Il peut s'agir de l'une des
constantes XlRowCol suivantes : xlColumns ou xlRows.