Bonjour,
Nouvelle sur le site et je suis désespérément à la recherche d'une solution à mon problème.
Je précise que tout ce que je sais sur le VBA, je l'ai appris sur des forum.
Voici mon code :
Option Base 1
Option Explicit
Sub Suivi_Tests()
Dim DateFinPer As Date
Dim DateDebutPer As Date
Dim rngDate1 As Range, rngDate2 As Range
Dim k As Long, n As Long, I As Long, R As Date, kmax As Long, Nmax As Long
Dim var1 As Long, var2 As Long, var3 As Long
Dim wf As WorksheetFunction
Set wf = Application.WorksheetFunction
Application.Worksheets("Stabilité_Pilote").Select
DateFinPer = Sheets("Stabilité_Pilote").Range("H5")
DateDebutPer = Sheets("Stabilité_Pilote").Range("H4")
If DateDebutPer > DateFinPer Then
MsgBox "La date de début de période doit être antérieure à celle de fin de période"
GoTo derniereligne
End If
'Application.Worksheets("Sauvegarde_DCS").Select
Worksheets("Sauvegarde_DCS").Range("A:A").NumberFormat = "dd/mm/yy hh:mm;@"
With Worksheets("Sauvegarde_DCS").Range("A3:A40000")
Set rngDate1 = Sheets("Sauvegarde_DCS").Range("A3:A40000").Find(DateDebutPer)
Set rngDate2 = Sheets("Sauvegarde_DCS").Range("A3:A40000").Find(DateFinPer)
If rngDate1 Is Nothing And rngDate2 Is Nothing Then
MsgBox "Aucune donnée correspondante aux dates spécifiées n'a été extraite"
Exit Sub
Else:
If rngDate1 Is Nothing Then
MsgBox "Les données correspondantes à la date de début spécifiée n'ont pas été extraites"
Exit Sub
Else:
If rngDate2 Is Nothing Then
MsgBox "Les données correspondantes à la date de fin spécifiée n'ont pas été extraites"
Exit Sub
Else:
End If
End If
End If
End With
'Application.Worksheets("Sauvegarde_DCS").Select
I = Worksheets("Sauvegarde_DCS").Cells(Application.Rows.Count, "A").End(xlUp).Row + 3
k = 3
'R = Application.WorksheetFunction.VLookup(DateDebutPer, Range("A3:A100"), 1, False)
While Not Cells(k, 1) = DateDebutPer
k = k + 1
Wend
kmax = k
If kmax > 30000 Then
MsgBox " La date de début de période choisie n'est pas disponible dans les données extraites"
GoTo derniereligne
Else
End If
n = 3
While Not Cells(n, 1) = DateFinPer
n = n + 1
Wend
Nmax = n
If Nmax > 30000 Then
MsgBox " La date de fin de période choisie n'est pas disponible dans les données extraites"
GoTo derniereligne
Else
End If
Application.Worksheets("Stabilité_Pilote").Select
var1 = kmax
var2 = Nmax
var3 = var2 - var1 + 1
' SUIVI DES PARAMETRES DE PERFORMANCE DU PILOTE
' Taux de captage du CO2
Application.Worksheets("Stabilité_Pilote").Activate
ActiveSheet.ChartObjects("Taux_Captage_CO2").Activate
ActiveChart.Axes(xlCategory).Select
ActiveSheet.ChartObjects("Taux_Captage_CO2").Activate
ActiveChart.PlotArea.Select
ActiveSheet.ChartObjects("Taux_Captage_CO2").Activate
ActiveChart.Axes(xlCategory).Select
ActiveSheet.ChartObjects("Taux_Captage_CO2").Activate
ActiveChart.SeriesCollection(1).XValues = "='Sauvegarde_DCS'!$A" & var1 & ":$A" & var2
ActiveChart.SeriesCollection(1).Values = "='Sauvegarde_DCS'!$C" & var1 & ":$C" & var2
ActiveChart.SeriesCollection(2).XValues = "='Sauvegarde_DCS'!$A" & var1 & ":$A" & var2
ActiveChart.SeriesCollection(2).Values = "='Sauvegarde_DCS'!$F" & var1 & ":$F" & var2
derniereligne:
Application.Worksheets("Stabilité_Pilote").Select
End Sub
Le but est de tracer le graphe "Taux_Captage_CO2" dans la feuille "Stabilité_Pilote" dont les données se trouvent dans la feuille "Sauvegarde_DCS", en fonction des dates renseignées dans la feuille "Stabilité_Pilote"
J'ai fait des boucle while Not pour faire varier mes axes, le soucis est que j'obtiens toujours l'erreur :
"erreur définie par l'application ou par l'objet" au niveau des boucles.
Please help! je suis à bout . Je ne sais plus comment écrire cette condition.
Merci beaucoup!
Nouvelle sur le site et je suis désespérément à la recherche d'une solution à mon problème.
Je précise que tout ce que je sais sur le VBA, je l'ai appris sur des forum.
Voici mon code :
Option Base 1
Option Explicit
Sub Suivi_Tests()
Dim DateFinPer As Date
Dim DateDebutPer As Date
Dim rngDate1 As Range, rngDate2 As Range
Dim k As Long, n As Long, I As Long, R As Date, kmax As Long, Nmax As Long
Dim var1 As Long, var2 As Long, var3 As Long
Dim wf As WorksheetFunction
Set wf = Application.WorksheetFunction
Application.Worksheets("Stabilité_Pilote").Select
DateFinPer = Sheets("Stabilité_Pilote").Range("H5")
DateDebutPer = Sheets("Stabilité_Pilote").Range("H4")
If DateDebutPer > DateFinPer Then
MsgBox "La date de début de période doit être antérieure à celle de fin de période"
GoTo derniereligne
End If
'Application.Worksheets("Sauvegarde_DCS").Select
Worksheets("Sauvegarde_DCS").Range("A:A").NumberFormat = "dd/mm/yy hh:mm;@"
With Worksheets("Sauvegarde_DCS").Range("A3:A40000")
Set rngDate1 = Sheets("Sauvegarde_DCS").Range("A3:A40000").Find(DateDebutPer)
Set rngDate2 = Sheets("Sauvegarde_DCS").Range("A3:A40000").Find(DateFinPer)
If rngDate1 Is Nothing And rngDate2 Is Nothing Then
MsgBox "Aucune donnée correspondante aux dates spécifiées n'a été extraite"
Exit Sub
Else:
If rngDate1 Is Nothing Then
MsgBox "Les données correspondantes à la date de début spécifiée n'ont pas été extraites"
Exit Sub
Else:
If rngDate2 Is Nothing Then
MsgBox "Les données correspondantes à la date de fin spécifiée n'ont pas été extraites"
Exit Sub
Else:
End If
End If
End If
End With
'Application.Worksheets("Sauvegarde_DCS").Select
I = Worksheets("Sauvegarde_DCS").Cells(Application.Rows.Count, "A").End(xlUp).Row + 3
k = 3
'R = Application.WorksheetFunction.VLookup(DateDebutPer, Range("A3:A100"), 1, False)
While Not Cells(k, 1) = DateDebutPer
k = k + 1
Wend
kmax = k
If kmax > 30000 Then
MsgBox " La date de début de période choisie n'est pas disponible dans les données extraites"
GoTo derniereligne
Else
End If
n = 3
While Not Cells(n, 1) = DateFinPer
n = n + 1
Wend
Nmax = n
If Nmax > 30000 Then
MsgBox " La date de fin de période choisie n'est pas disponible dans les données extraites"
GoTo derniereligne
Else
End If
Application.Worksheets("Stabilité_Pilote").Select
var1 = kmax
var2 = Nmax
var3 = var2 - var1 + 1
' SUIVI DES PARAMETRES DE PERFORMANCE DU PILOTE
' Taux de captage du CO2
Application.Worksheets("Stabilité_Pilote").Activate
ActiveSheet.ChartObjects("Taux_Captage_CO2").Activate
ActiveChart.Axes(xlCategory).Select
ActiveSheet.ChartObjects("Taux_Captage_CO2").Activate
ActiveChart.PlotArea.Select
ActiveSheet.ChartObjects("Taux_Captage_CO2").Activate
ActiveChart.Axes(xlCategory).Select
ActiveSheet.ChartObjects("Taux_Captage_CO2").Activate
ActiveChart.SeriesCollection(1).XValues = "='Sauvegarde_DCS'!$A" & var1 & ":$A" & var2
ActiveChart.SeriesCollection(1).Values = "='Sauvegarde_DCS'!$C" & var1 & ":$C" & var2
ActiveChart.SeriesCollection(2).XValues = "='Sauvegarde_DCS'!$A" & var1 & ":$A" & var2
ActiveChart.SeriesCollection(2).Values = "='Sauvegarde_DCS'!$F" & var1 & ":$F" & var2
derniereligne:
Application.Worksheets("Stabilité_Pilote").Select
End Sub
Le but est de tracer le graphe "Taux_Captage_CO2" dans la feuille "Stabilité_Pilote" dont les données se trouvent dans la feuille "Sauvegarde_DCS", en fonction des dates renseignées dans la feuille "Stabilité_Pilote"
J'ai fait des boucle while Not pour faire varier mes axes, le soucis est que j'obtiens toujours l'erreur :
"erreur définie par l'application ou par l'objet" au niveau des boucles.
Please help! je suis à bout . Je ne sais plus comment écrire cette condition.
Merci beaucoup!