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
- Si et excel - Guide
- Aller à la ligne excel - Guide
- Word et excel gratuit - Guide
- Mise en forme conditionnelle 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
1959
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)?