Qlques Bug dans macros

  • Initiateur de la discussion julien
  • Date de début
J

julien

Guest
Bonjour a tous,

Voila mon problème:
j'aimerai à partir d'un calendrier (Monthview2control) selectionnées des données pour les afficher sur un graphe et faire des calculs dessus.

Voila j'ai donc attaquer avec visual basic mais je suis débutant et g qulques soucis...

c pourquoi je vous demande un petit coup de pouce :S
voici la macro de mon projet

merci d'avance pour vos conseils


Const DateDebut = #1/1/2004#
Dim DateFin As Date
Dim date_select As Date
Dim debut_plage As Integer
Dim fin_plage As Integer
Dim fin_plage_2 As Integer
Dim debut_new As Integer
Dim i, j As Integer
Dim x
Dim nb_jours As Integer

Public Sub calendrier()

Sheets('Données').Activate
ActiveSheet.Cells(1, 1).Select
Selection.End(xlDown).Select
DateFin = Format(ActiveCell.Value, 'dd/mm/yyyy')


Sheets('Principal').Activate


If (date_select > DateDebut) And (date_select < DateFin) Then
'conversion de la date choisie en plage de donnée
debut_plage = (date_select - DateDebut) * 96 + 2
fin_plage = debut_plage + 95
'mise à jour des valeurs max du jour
Range('A9').Select
ActiveCell.Value = 'Sélection : ' & Format(date_select, 'dd mmmm yyyy')



End If

'conversion de la date choisie en plage de donnée
debut_plage = (date_select - DateDebut) * 96 + 2
fin_plage = debut_plage + 7 * 95
Range('B6').Select
ActiveCell.Value = '=Données!A' & debut_plage
Range('B7').Select
ActiveCell.Value = '=Données!A' & fin_plage
'If ActiveCell.Value = 0 Then ActiveCell.Value = ' '
Range('C6').Select
ActiveCell.Value = debut_plage
Range('C7').Select
ActiveCell.Value = fin_plage

If (date_select < DateDebut) Or (date_select > DateFin) Then
Range('A9').Select
ActiveCell.Value = 'Erreur !'
Range('B10').Select
ActiveCell = ''
Range('B11').Select
ActiveCell = ''
Range('B12').Select
ActiveCell = ''
Range('B13').Select
ActiveCell = ''
Range('B14').Select
ActiveCell = ''
Range('A1').Select
ActiveCell.Value = date_select
End If

End Sub

Public Sub actualiser_valeurs()
Range('B10').Select
ActiveCell = '=MAX(Données!B' & debut_plage & ':B' & fin_plage & ')'

Range('B11').Select
ActiveCell = '=MAX(Données!C' & debut_plage & ':C' & fin_plage & ')'
Range('B12').Select
ActiveCell = '=MAX(Données!I' & debut_plage & ':I' & fin_plage & ')'
Range('B13').Select
ActiveCell = '=MIN(Données!H' & debut_plage & ':H' & fin_plage & ')'
Range('B14').Select
ActiveCell = '=MAX(Données!H' & debut_plage & ':H' & fin_plage & ')'

Range('A1').Select
ActiveCell.Value = date_select
End Sub

Public Sub actualiser_graphiques()
'graphique 1
'mise à jour des plage de donnée des graphiques
'choix de la feuille source de données
ActiveSheet.ChartObjects('Graphique 1').Activate

ActiveChart.SeriesCollection(1).Values = '=Données!R' & debut_plage & 'C2:R' & fin_plage & 'C2'
ActiveChart.SeriesCollection(1).XValues = '=Données!R' & debut_plage & 'C1:R' & fin_plage & 'C1'


End Sub
[file name=Classeur3_20050414101845.zip size=44800]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur3_20050414101845.zip[/file]
 

Pièces jointes

  • Classeur3_20050414101845.zip
    43.8 KB · Affichages: 20

Thierry78

XLDnaute Nouveau
Salut Julien,

Je suis en train de jeter un coup d'oeil à ton fichier, mais étant également au bureau... :whistle:
J'ai remarqué un dépassement de capacité d&ucirc; au fait de mal déclarer les variables: Integer est un type de données numérique acceptant des valeurs entières comprises entre -32768 et +32767. Au delà il faut employer le type Long (de -2 147 483 648 à +2 147 483 647).
Je n'ai pas vraiment le temps de chercher quelle est cette variable, mais je continue mon étude.

A+

Thierry78
 

Thierry78

XLDnaute Nouveau
Je continue à creuser, en espérant être sur la bonne voie!
Voici o&ugrave; j'en suis.

A+ [file name=Classeur3_20050414114141.zip size=47972]http://www.excel-downloads.com/components/com_simpleboard/uploaded/files/Classeur3_20050414114141.zip[/file]
 

Pièces jointes

  • Classeur3_20050414114141.zip
    46.8 KB · Affichages: 22
J

julien

Guest
bonjour thierry78, le forum

oauis ta raison tu nous as demasqué (nico64 et moi)on bosse tous les deux (enfin tous les trois!? des fois)sur le meme projet (un système solaire ou l'on dit pouvoir faire de l'acquisition et de l'exploitation de données).

merci encore pour ton intervention et tes commentaires sa nous permet d'apprendre a meme tps
cependant je narrive pas à inserer un graphique suivant la plage de données selectionnée par rapport a la date. Mais maintenant que le reste marche, je vais m'inspirer du fichier précedent. Enfin si tu as une petite idée ?

sinon bonne fin de journée et merci Sherlock Home :) :) :p
 

Discussions similaires

Statistiques des forums

Discussions
312 671
Messages
2 090 760
Membres
104 654
dernier inscrit
elisabete_custodio