1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80
| Option Explicit
Sub AfficherGraph()
Dim sheet_name As String
Dim Fname As String
Dim Ligne As Variant
Dim i As Byte, j As Integer, last_column As Integer
Dim Tableau_price(20) As Double, Tableau_model(20) As String
sheet_name = "db_Ordinateur"
Worksheets(sheet_name).Activate
With ActiveSheet
Dim MaPlage As Range
last_column = .UsedRange.SpecialCells(xlCellTypeLastCell).Column
Set MaPlage = .UsedRange.SpecialCells(xlCellTypeVisible)
For j = 2 To 20
Tableau_price(j) = extraireValNum(Cells(j, 10).Value)
Tableau_model(j) = Cells(j, 1).Value
j = j + 1
Next
End With
'Création graphique
Charts.Add
'Définit la localisation du graphique:
'dans la feuille de calcul Feuil1 pour cet exemple
'Ajoute une série dans le graphique
With ActiveChart
.SeriesCollection.NewSeries
.SeriesCollection(1).XValues = Tableau_model() 'Abscisses
.SeriesCollection(1).Values = Tableau_price() 'Ordonnées
.SeriesCollection(1).Name = "Prix"
'Définit le type (Courbe)
End With
Fname = ThisWorkbook.Path & "\temp.gif"
ActiveChart.Export Filename:=Fname, FilterName:="GIF"
UF_Img.IMG_histoTarif.Picture = LoadPicture(Fname)
UF_Img.Show
End Sub
Function extraireValNum(ByVal chaine As String)
Dim i As Byte, Nb As Byte
Dim res As Double
Dim Cible As String, Resultat As Double, j As Integer
Dim Nombre As Double
Dim tab_exemple()
Cible = chaine
'Pour que fonction Val puisse reconnaitre les décimales: Remplacement des
'virgules par des points
'Debug.Print Mid(Cible, 1, 7)
Cible = Replace(Cible, ",", ".")
'Pour gérer deux nombres qui se suivent: remplacement des espaces
'par un caractère Alpha
Cible = Replace(Cible, " ", "x")
j = 1
For i = 1 To Len(Cible)
If IsNumeric(Mid(Cible, i, 1)) Then
Nombre = Val(Mid(Cible, i, Len(Cible) - i + 1))
Nb = Nb + 1
Resultat = Resultat & Nombre & vbLf
i = i + Len(Str(Nombre)) - 1
res = Val(Mid(Cible, 1, 7))
End If
Next
extraireValNum = res
End Function |
Partager