Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

VBA dans Excel 97 et 2003

1 réponse
Avatar
Newbie
Bonjour,

Le début de la macro ci-dessous fonctionne bien sur mon PC équipe d'Excel
2003. Elle sert à caler l'origine des axes d'un graphique qui comporte deux
échelles de temps (sur axe X et sur Y)
Dans Excel 97, elle butte sur la ligne :
.MinimumScale = Deb
et génère le message d'erreur : "Impossible de définir la propriété
MinimumScale"
Avez-vous une idée de l'origine de cette erreur? Merci d'avance pour votre
aide !

Newbie
--------------
Sub CalerOrigineAxes()
Dim Graphique As Object, Crobard As Object
Dim Deb As Long, Fin As Long, Clic As Integer

For Each Graphique In ActiveSheet.ChartObjects
Deb = [DebProj] 'Date de début du projet
Fin = [FinProj] 'Date de fin du projet
Set Crobard = Graphique.Chart

Clic = MsgBox("Confirmez vous la date de Début du projet : " &
Format(Deb, "dd/mm/yyyy") & Chr(13) & _
"et la date de Fin : " & Format(Fin, "dd/mm/yyyy") & Chr(13) & Chr(13) &
"Sinon, corrigez les dans la feuille Excel", vbOKCancel, "Caler l'origine
des axes")
If Clic = vbCancel Then Exit Sub 'Si l'utilisateur à cliqué sur
annuler...


With Crobard.Axes(xlCategory)
.MinimumScale = Deb
.MaximumScale = Fin
.MinorUnit = 1
.MajorUnit = 15
.Crosses = xlCustom
.CrossesAt = Deb
.ReversePlotOrder = False
.ScaleType = xlLinear
.DisplayUnit = xlNone
End With

1 réponse

Avatar
papou
Salut
Peut-être idiot mais as-tu essayé de déclarer ta variable Deb en Integer au
lieu de Long ?

Cordialement
Pascal

"Newbie" a écrit dans le message de news:

Bonjour,

Le début de la macro ci-dessous fonctionne bien sur mon PC équipe d'Excel
2003. Elle sert à caler l'origine des axes d'un graphique qui comporte
deux
échelles de temps (sur axe X et sur Y)
Dans Excel 97, elle butte sur la ligne :
.MinimumScale = Deb
et génère le message d'erreur : "Impossible de définir la propriété
MinimumScale"
Avez-vous une idée de l'origine de cette erreur? Merci d'avance pour votre
aide !

Newbie
--------------
Sub CalerOrigineAxes()
Dim Graphique As Object, Crobard As Object
Dim Deb As Long, Fin As Long, Clic As Integer

For Each Graphique In ActiveSheet.ChartObjects
Deb = [DebProj] 'Date de début du projet
Fin = [FinProj] 'Date de fin du projet
Set Crobard = Graphique.Chart

Clic = MsgBox("Confirmez vous la date de Début du projet : " &
Format(Deb, "dd/mm/yyyy") & Chr(13) & _
"et la date de Fin : " & Format(Fin, "dd/mm/yyyy") & Chr(13) & Chr(13)
&
"Sinon, corrigez les dans la feuille Excel", vbOKCancel, "Caler l'origine
des axes")
If Clic = vbCancel Then Exit Sub 'Si l'utilisateur à cliqué sur
annuler...


With Crobard.Axes(xlCategory)
.MinimumScale = Deb
.MaximumScale = Fin
.MinorUnit = 1
.MajorUnit = 15
.Crosses = xlCustom
.CrossesAt = Deb
.ReversePlotOrder = False
.ScaleType = xlLinear
.DisplayUnit = xlNone
End With