Excel: macro pour création graphique
Fermé
oxmos59
Messages postés
7
Date d'inscription
mercredi 21 juillet 2010
Statut
Membre
Dernière intervention
7 juin 2011
-
3 févr. 2011 à 18:31
oxmos59 Messages postés 7 Date d'inscription mercredi 21 juillet 2010 Statut Membre Dernière intervention 7 juin 2011 - 4 févr. 2011 à 16:24
oxmos59 Messages postés 7 Date d'inscription mercredi 21 juillet 2010 Statut Membre Dernière intervention 7 juin 2011 - 4 févr. 2011 à 16:24
A voir également:
- Excel: macro pour création graphique
- Liste déroulante excel - Guide
- Formule excel - Guide
- Media creation tool - Télécharger - Systèmes d'exploitation
- Creation compte gmail - Guide
- Déplacer une colonne excel - Guide
3 réponses
oxmos59
Messages postés
7
Date d'inscription
mercredi 21 juillet 2010
Statut
Membre
Dernière intervention
7 juin 2011
2
4 févr. 2011 à 16:24
4 févr. 2011 à 16:24
Bon j'ai trouvé ma solution. Je vous la met pour ceux qui serait intéressé:
Cette commande va vous ouvrir une boite de dialogue pour vous demander de sélectionner une plage de cellule (soit en texte direct, soit via la souris).
Il va ensuite copier celle plage de cellule, la collé en F2 et sélectionner les deux colonnes jusqu'à la ligne 517.
Après on peut faire direct notre graphique, je vous mets la commande si vous le souhaitez ci dessous:
Bonne journée à tous.
Range("F1").Select
Set Plage = Application.InputBox("Merci de sélectionner l'heure de début dans la colonne C et glisser votre sélection jusqu'à l'heure de fin dans la colonne D. Exemple: C5:D60", "Sélection de cellules", Type:=8)
Plage.Select
Selection.Copy
Range("F2").Select
ActiveSheet.Paste
Range("F1:G517").Select
Cette commande va vous ouvrir une boite de dialogue pour vous demander de sélectionner une plage de cellule (soit en texte direct, soit via la souris).
Il va ensuite copier celle plage de cellule, la collé en F2 et sélectionner les deux colonnes jusqu'à la ligne 517.
Après on peut faire direct notre graphique, je vous mets la commande si vous le souhaitez ci dessous:
Charts.Add
ActiveChart.ChartType = xlXYScatter
ActiveChart.SetSourceData Source:=Sheets("D1102030").Range("F1:G924"), _
PlotBy:=xlColumns
ActiveChart.SeriesCollection(2).Delete
ActiveChart.SeriesCollection(1).XValues = "=D1102030!R2C6:R924C6"
ActiveChart.SeriesCollection(1).Values = "=D1102030!R2C7:R924C7"
ActiveChart.Location Where:=xlLocationAsNewSheet
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Historique PIC"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "Heure"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "Valeur (bar)"
End With
ActiveChart.Legend.Select
Selection.Delete
ActiveChart.SeriesCollection(1).Select
ActiveChart.SeriesCollection(1).Trendlines.Add(Type:=xlLogarithmic, Forward _
:=0, Backward:=0, DisplayEquation:=False, DisplayRSquared:=False).Select
ActiveChart.ChartArea.Select
ActiveChart.PlotArea.Select
With Selection.Border
.ColorIndex = 16
.Weight = xlThin
.LineStyle = xlContinuous
End With
With Selection.Interior
.ColorIndex = 2
.PatternColorIndex = 1
.Pattern = xlSolid
End With
ActiveChart.Deselect
Bonne journée à tous.
Zoul67
Messages postés
1956
Date d'inscription
lundi 3 mai 2010
Statut
Membre
Dernière intervention
30 janvier 2023
149
Modifié par Zoul67 le 3/02/2011 à 20:07
Modifié par Zoul67 le 3/02/2011 à 20:07
Bonsoir,
Selection ??
++
Selection ??
++
oxmos59
Messages postés
7
Date d'inscription
mercredi 21 juillet 2010
Statut
Membre
Dernière intervention
7 juin 2011
2
Modifié par oxmos59 le 4/02/2011 à 09:47
Modifié par oxmos59 le 4/02/2011 à 09:47
Bonjour, merci d'avoir répondu déjà.
Je donne un exemple:
J'extrais 500 lignes à partir d'un fichier CSV. Sur ces 500 lignes, je ne vais sélectionner que 50 lignes, de A80 à B130 par exemple.
Je voudrais qu'en cliquant sur ma macro graphique, elle génère un graphique avec la plage de cellule sélectionnée.
Est-ce possible?
Merci
C'est la ligne en gras qui fait défaut... Comment lui dire que le range pour mon graph sera la (valeur variable 1) à (valeur variable 2)?
Je donne un exemple:
J'extrais 500 lignes à partir d'un fichier CSV. Sur ces 500 lignes, je ne vais sélectionner que 50 lignes, de A80 à B130 par exemple.
Je voudrais qu'en cliquant sur ma macro graphique, elle génère un graphique avec la plage de cellule sélectionnée.
Est-ce possible?
Merci
EDIT: J'ai commencé à tester quelque chose en VBA mais je n'arrive pas à boucler...
Dim cel1 As String
Dim cel2 As String
cel1 = InputBox("Entrez le numéro de la première ligne de celluled à prendre en compte.")
cel2 = InputBox("Entrez le numéro de la dernière ligne de cellules à prendre en compte.")
Cells(1, 4).Value = cel1
Cells(1, 5).Value = cel2
Charts.Add
ActiveChart.ChartType = xlXYScatter
ActiveChart.SetSourceData Source:=Sheets("Feuil1").Range("Cells(1, 4).Value:Cells(1, 5).Value"), PlotBy:=xlColumns
ActiveChart.SeriesCollection(1).Name = "=""PIC"""
ActiveChart.Location Where:=xlLocationAsObject, Name:="Feuil1"
With ActiveChart
.HasTitle = True
.ChartTitle.Characters.Text = "Historique des pressions"
.Axes(xlCategory, xlPrimary).HasTitle = True
.Axes(xlCategory, xlPrimary).AxisTitle.Characters.Text = "heure"
.Axes(xlValue, xlPrimary).HasTitle = True
.Axes(xlValue, xlPrimary).AxisTitle.Characters.Text = "valeur"
End With
End Sub
C'est la ligne en gras qui fait défaut... Comment lui dire que le range pour mon graph sera la (valeur variable 1) à (valeur variable 2)?