Besoin d'aide svp

vincent3360 Messages postés 27 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 13 mai 2011 - 28 mai 2010 à 14:50
vincent3360 Messages postés 27 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 13 mai 2011 - 1 juin 2010 à 16:33
Bonjour à tous ,
Je reviens cette fois ci vous demandez de l'aide
J'ai essayé d'avancer tout seul mais la je bloque
Je dois créer une application qui permet de tracer une courbe en fonction du temps.

J'ai un code en c sharp
private: System::Void  traceCourbe (array <float> ^temperatures) 
{			
 float a, pasX ;
 //
 //
 a = ((float) pGraphe->Height / (float)(min-max))  ;
 pasX = (float)(pGraphe->Width) / (float)(nbPts-1) ;
 drawBrush->Color = colCourbe ;

 //
 //
 array  ^tempsPt = gcnew array  (temperatures->Length) ;
 array  ^tempsPtLb = gcnew array  (temperatures->Length) ;

 //
 //
 for (int i = 0 ; i < temperatures->Length ; i++)
 {
 //
 //
 tempsPt[i].Y = (int) (a * (temperatures[i] - max)) ;
 tempsPt[i].X = (int) (i*pasX) ;
 //
 //
 tempsPtLb[i].Y = tempsPt[i].Y - 10;
 tempsPtLb[i].X = tempsPt[i].X + 10;
 //
 //
 g->DrawString (temps[i].ToString(), drawFont, drawBrush, tempsPtLb[i] ) ;
 //
 //
 g->DrawArc (penPt,tempsPt[i].X, tempsPt[i].Y, 5, 5, 0, 359) ; 
 }
 //
 //
 g->DrawCurve(penCourbe, tempsPt, 0.2) ;

}

et j'aimerais le mettre en visual basic:


  Private Sub p_box_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles p_box.Click
        Dim a As Double
        Dim pasX As Double
        Dim nbPts As Integer
        Dim gradY As Integer
        Dim max As Integer
        Dim min As Integer
        Dim colCourbe As New System.Drawing.Color
        Dim colGrille As New System.Drawing.Color
        Dim g As System.Drawing.Graphics ' méthode


        Dim tempsPt(temperature->Lenght) as Point
       Dim tempsPtLb(temperature->Lenght) as Point
        Dim drawBrush As New SolidBrush(colCourbe)



      a = ((Double )) p_box->Height /( (Double)(min-max))  
 pasX =( (Double))(p_box->Width) / (Double)(nbPts-1)

       
        Dim  tempsPt(temperatures->Length) As point


        Dim i As Integer = 0

 For



 tempsPt[i].Y = (int) (a * (temperatures[i]) - max)) 
            tempsPt([i].X = (Int())(i * pasX))

 tempsPtLb[i].Y = tempsPt[i].Y - 10
 tempsPtLb[i].X = tempsPt[i].X + 10



 g->DrawString (temps[i].ToString(), drawFont, drawBrush, tempsPtLb[i] ) 


 g->DrawArc (penPt,tempsPt[i].X, tempsPt[i].Y, 5, 5, 0, 359) 

        Next i



 g->DrawCurve(penCourbe, tempsPt, 0.2) 





    End Sub

Le problème c'est que j'ai pleins de faute :


Je continue à chercher dans mon coin
Merci à vous

23 réponses

Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
28 mai 2010 à 15:23
salut,

remplace les [] par des () :

tempsPt[x] par tempsPt(x)

Sinon, traduction VB vers C# => ici et la

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
vincent3360 Messages postés 27 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 13 mai 2011 2
28 mai 2010 à 15:51
Et je dois faire que ça?
J'ai essayé le traducteur mais j'ai toujours des erreus, il me traduit pas tout
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
28 mai 2010 à 16:58
Quel trad as tu essayé ?

Je t'en es donné 2, essaye le second


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
vincent3360 Messages postés 27 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 13 mai 2011 2
29 mai 2010 à 14:40
Voilà, j'ai pu convertir pas mal de truc sauf que je reste bloquer à certains endroit comme par exemple ici:



array ^tempsPt = gcnew array (temperatures->Length) ;
array ^tempsPtLb = gcnew array (temperatures->Length) ;

et là

->DrawString (temps[i].ToString(), drawFont, drawBrush, tempsPtLb[i] ) ;
//
//
g->DrawArc (penPt,tempsPt[i].X, tempsPt[i].Y, 5, 5, 0, 359) ;
}
//
//
g->DrawCurve(penCourbe, tempsPt, 0.2) ;




J'ai pas non plus réussi à la boucle for


for (int i = 0 ; i < temperatures->Length ; i++)


J'ai aussi des problèmes avec ceci, je vois comment il faut faire
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
29 mai 2010 à 15:17
Heu.. je code pas en C# mais la syntaxe me parait bizard, t'es sur à 100% que c'est du C# ???

Je l'es passé au convertisseur et il y a des erreurs, donc soit le code n'est pas du C#, soit le code est incomplet.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
29 mai 2010 à 15:24
Essaye ca :

array  ^tempsPt = gcnew array  (temperatures->Length) ; 
array  ^tempsPtLb = gcnew array  (temperatures->Length) ; 


Dim tempsPt(temperatures.Length) As Point
Dim tempsPtLb(temperatures.Length) As Point


DrawString (temps[i].ToString(), drawFont, drawBrush, tempsPtLb[i] );


G.DrawString(temps(i).ToString(), drawFont, drawBrush, tempsPtLb(i))


g->DrawArc (penPt,tempsPt[i].X, tempsPt[i].Y, 5, 5, 0, 359) ; 


G.DrawArc(penPt,tempsPt(i).X, tempsPt(i).Y, 5, 5, 0, 359)


g->DrawCurve(penCourbe, tempsPt, 0.2) ; 


g.DrawCurve(penCourbe, tempsPt, 0.2)



Mais je le redis, je suis pas un expert en C# !

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
29 mai 2010 à 15:26
Ah oui la boucle :


for (int i = 0 ; i < temperatures->Length ; i++) {
//Code
}


For i = 0 To temperatures.Length
'Code
Next


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
vincent3360 Messages postés 27 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 13 mai 2011 2
29 mai 2010 à 15:55
En tout cas , merci tu me fais avancer beaucoup .


Dim temps(i) As Integer
G.DrawString(temps(i).ToString(), drawFont, drawBrush, tempsPtLb(i))

J'arrive pas le declarer et ensuite



a = (CSng() / CSng((min - max)))
pasX = CSng(()) / CSng((nbPts - 1))


Apres le Csng () le debogguer attends quelque chose dans les parenthèses mais je ne vois pas quoi
0
vincent3360 Messages postés 27 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 13 mai 2011 2
29 mai 2010 à 16:00
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
29 mai 2010 à 16:31
Bien, j'ai regardé le code de plus près et pas étonnant qu'il ne fonctionne pas, c'est une procédure qui fait surement partie intégrante d'une controle ou d'un formulaire, la procédure seule constitue donc un code incomplet car des éléments déclaré au sein du formulaire son maquant.

Ou as-tu trouvé cette source ? As-tu le lien ? Je vais voir si je peux te la traduire.


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
Utilisateur anonyme
30 mai 2010 à 15:03
Voici une petite classe que j'ai faite pour tracer une courbe en fonction du temps.
Peut-être cela te servira.
Voici la classe :
Public Class clsCourbeTemperature
    Inherits PictureBox
    Private m_Temperature, m_EcartEntrePoints, m_NombrePointsMax As Integer
    Private m_NombreHautEchelle, m_NombreBasEchelle As String
    Private m_CouleurFond, m_CouleurTrait As Color
    Private m_col As Collection = New Collection
    Private b As Bitmap
    Private g As Graphics

    Public Sub New(ByVal ParentForm As Form, _
                   ByVal CouleurTrait As Color, _
                   ByVal CouleurFond As Color, _
                   ByVal TempsRafraichissement As Double, _
                   ByVal EcartEntrePoints As Integer, _
                   ByVal NombrePointsMax As Integer, _
                   ByVal NombreBasEchelle As String, _
                   ByVal NombreHautEchelle As String)
        Me.Width = ParentForm.ClientRectangle.Width
        Me.Height = ParentForm.ClientRectangle.Height
        Me.Parent = ParentForm
        m_EcartEntrePoints = EcartEntrePoints
        m_NombrePointsMax = NombrePointsMax
        m_CouleurFond = CouleurFond
        m_CouleurTrait = CouleurTrait
        m_NombreHautEchelle = NombreHautEchelle
        m_NombreBasEchelle = NombreBasEchelle
        b = New Bitmap(Me.Width, Me.Height)
        g = Graphics.FromImage(b)
    End Sub

    Public WriteOnly Property Temperature() As Double
        Set(ByVal value As Double)
            m_Temperature = value
            If m_col.Count >= m_NombrePointsMax Then
                m_col.Remove(1)
            End If
            m_col.Add(((100 - m_Temperature) / 100) * Me.Height)
            Dim ft As New Font("Arial", 13, FontStyle.Regular, GraphicsUnit.Pixel)
            g.FillRectangle(New SolidBrush(m_CouleurFond), New Rectangle(0, 0, b.Width, b.Height))
            g.DrawString(m_NombreBasEchelle, ft, New SolidBrush(Color.White), 5, Me.Height - 20)
            g.DrawString(m_NombreHautEchelle, ft, New SolidBrush(Color.White), 5, 5)
            For x = 2 To m_col.Count
                g.DrawLine(New Pen(m_CouleurTrait, 2), _
                           New Point(x * m_EcartEntrePoints, m_col.Item(x - 1)), _
                           New Point((x * m_EcartEntrePoints) + m_EcartEntrePoints, m_col.Item(x)))
                If x = m_col.Count Then
                    g.DrawString(m_Temperature.ToString, _
                                 ft, _
                                 New SolidBrush(Color.Orange), _
                                 (x * m_EcartEntrePoints) + m_EcartEntrePoints, _
                                 m_col.Item(x))
                End If
            Next
            Me.Image = b.Clone
        End Set
    End Property
End Class


Et voici le code du formulaire après avoir placé un timer dessus :
Public Class Form1
    Private p As clsCourbeTemperature
    Private rd As Random = New Random

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        p = New clsCourbeTemperature(Me, Color.Red, Color.Black, 1000, 20, 12, "0°C", "100°C")
    End Sub

    Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
        p.Temperature = rd.next(0, 100)
    End Sub
End Class


Bonne soirée.
0
vincent3360 Messages postés 27 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 13 mai 2011 2
30 mai 2010 à 17:41
Merci pour vos aides,
Je suis entrain d'etudier ton code et il mde dit que j'ai 3 erreurs


Public Sub New(B ici la premiere et apres je sais plus
0
vincent3360 Messages postés 27 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 13 mai 2011 2
31 mai 2010 à 08:51
Voilà les erreurs que j'ai :
0
vincent3360 Messages postés 27 Date d'inscription vendredi 28 mai 2010 Statut Membre Dernière intervention 13 mai 2011 2
31 mai 2010 à 09:10
#pragma once
#define TITRE_GRAPHE "Capteur interieur"
#define UNITE_TEMP " °C"

namespace proto {

using namespace System;
using namespace System::ComponentModel;
using namespace System::Collections;
using namespace System::Windows::Forms;
using namespace System::Data;
using namespace System::Drawing;

/// <summary>
/// Description résumée de Form1
///
/// AVERTISSEMENT : si vous modifiez le nom de cette classe, vous devrez modifier la
/// propriété 'Nom du fichier de ressources' de l'outil de compilation de ressource managée
/// pour tous les fichiers .resx dont dépend cette classe. Dans le cas contraire,
/// les concepteurs ne pourront pas interagir correctement avec les ressources
/// localisées associées à ce formulaire.
/// </summary>
public ref class Form1 : public System::Windows::Forms::Form
{
public:
Form1(void)
{
InitializeComponent();
//
//TODO : ajoutez ici le code du constructeur
//
}

protected:
/// <summary>
/// Nettoyage des ressources utilisées.
/// </summary>
~Form1()
{
if (components)
{
delete components;
}
}

private: array <float> ^temps ;
private: System::Drawing::Graphics ^g ;
private: System::Windows::Forms::Panel^ pGraphe;
private: System::Windows::Forms::Button^ btTrace;
private: String ^titre ;

private: int nbPts ;
private: int gradY ;
private: int max ;
private: int min ;

private: System::Drawing::Color colCourbe ;
private: System::Drawing::Color colGrille ;
private: System::Drawing::Color colTitre ;
private: System::Drawing::Pen ^penCourbe ;
private: System::Drawing::Pen ^penGrille ;
private: System::Drawing::Pen ^penPt ;
private: System::Drawing::Font ^drawFont ;
private: System::Drawing::SolidBrush ^drawBrush ;

private: System::Windows::Forms::Button^ btTraceGrille;
private: System::Windows::Forms::Button^ btTraceCourbe2;

protected:

private:
/// <summary>
/// Variable nécessaire au concepteur.
/// </summary>
System::ComponentModel::Container ^components;

#pragma region Windows Form Designer generated code
/// <summary>
/// Méthode requise pour la prise en charge du concepteur - ne modifiez pas
/// le contenu de cette méthode avec l'éditeur de code.
/// </summary>
void InitializeComponent(void)
{
this->pGraphe = (gcnew System::Windows::Forms::Panel());
this->btTrace = (gcnew System::Windows::Forms::Button());
this->btTraceGrille = (gcnew System::Windows::Forms::Button());
this->btTraceCourbe2 = (gcnew System::Windows::Forms::Button());
this->SuspendLayout();
//
// pGraphe
//
this->pGraphe->BackColor = System::Drawing::Color::FromArgb(static_cast<System::Int32>(static_cast<System::Byte>(255)), static_cast<System::Int32>(static_cast<System::Byte>(128)),
static_cast<System::Int32>(static_cast<System::Byte>(0)));
this->pGraphe->BorderStyle = System::Windows::Forms::BorderStyle::FixedSingle;
this->pGraphe->Location = System::Drawing::Point(12, 12);
this->pGraphe->Name = L"pGraphe";
this->pGraphe->Size = System::Drawing::Size(620, 345);
this->pGraphe->TabIndex = 0;
//
// btTrace
//
this->btTrace->Location = System::Drawing::Point(12, 363);
this->btTrace->Name = L"btTrace";
this->btTrace->Size = System::Drawing::Size(155, 23);
this->btTrace->TabIndex = 1;
this->btTrace->Text = L"Trace Courbe 1";
this->btTrace->UseVisualStyleBackColor = true;
this->btTrace->Click += gcnew System::EventHandler(this, &Form1::btTrace_Click);
//
// btTraceGrille
//
this->btTraceGrille->Location = System::Drawing::Point(477, 363);
this->btTraceGrille->Name = L"btTraceGrille";
this->btTraceGrille->Size = System::Drawing::Size(155, 23);
this->btTraceGrille->TabIndex = 2;
this->btTraceGrille->Text = L"Trace Grille";
this->btTraceGrille->UseVisualStyleBackColor = true;
this->btTraceGrille->Click += gcnew System::EventHandler(this, &Form1::btTraceGrille_Click);
//
// btTraceCourbe2
//
this->btTraceCourbe2->Location = System::Drawing::Point(186, 363);
this->btTraceCourbe2->Name = L"btTraceCourbe2";
this->btTraceCourbe2->Size = System::Drawing::Size(155, 23);
this->btTraceCourbe2->TabIndex = 3;
this->btTraceCourbe2->Text = L"Trace Courbe 2";
this->btTraceCourbe2->UseVisualStyleBackColor = true;
this->btTraceCourbe2->Click += gcnew System::EventHandler(this, &Form1::btTraceCourbe2_Click);
//
// Form1
//
this->AutoScaleDimensions = System::Drawing::SizeF(6, 13);
this->AutoScaleMode = System::Windows::Forms::AutoScaleMode::Font;
this->ClientSize = System::Drawing::Size(655, 394);
this->Controls->Add(this->btTraceCourbe2);
this->Controls->Add(this->btTraceGrille);
this->Controls->Add(this->btTrace);
this->Controls->Add(this->pGraphe);
this->Name = L"Form1";
this->Text = L"proto grapheur";
this->Load += gcnew System::EventHandler(this, &Form1::Form1_Load);
this->ResumeLayout(false);

}
#pragma endregion
///
/// Initialisations
///
private: System::Void Form1_Load(System::Object^ sender, System::EventArgs^ e) {
nbPts = 10 ; //
gradY = 10 ; //
max = 80 ; //
min = -30 ; //
//
//
temps = gcnew array<float> (nbPts) ;

//
titre = gcnew String (TITRE_GRAPHE) ;
//
g = pGraphe->CreateGraphics () ;
//
colCourbe = System::Drawing::Color::Blue ;
colGrille = System::Drawing::Color::Red ;
colTitre = System::Drawing::Color::White ;
penCourbe = gcnew Pen (colCourbe,1 );
penGrille = gcnew Pen (colGrille,1 );
penPt = gcnew Pen (colCourbe, 2) ;

//
drawFont = gcnew System::Drawing::Font(("Arial"), 10,
System::Drawing::FontStyle::Italic | System::Drawing::FontStyle::Bold);
//
drawBrush = gcnew SolidBrush(colCourbe);
}
///
///
///
private: System::Void traceGrille (System::Void)
{
array ^lig = gcnew array (2) ;
float a = ((float) pGraphe->Height / (float)(min-max)) ;
float y ;
drawBrush->Color = colGrille ;

//
//
for (int i = min ; i <= max ; i+=gradY)
{
//
//
y = (a * (i - max )) ;
lig[0].X = 0 ; lig[0].Y = y ;
lig[1].X = pGraphe->Width ; lig[1].Y = y ;
//
//
g->DrawLines (penGrille, lig) ;
//
//
g->DrawString (i.ToString() + UNITE_TEMP, drawFont, drawBrush, lig[0] ) ;
}
//
//
drawBrush->Color = colTitre ;
g->DrawString (titre, drawFont, drawBrush,(int) (pGraphe->Width / 2) , 0) ;
}
///
///
///
///
private: System::Void traceCourbe (array <float> ^temperatures)
{
float a, pasX ;
//
//
a = ((float) pGraphe->Height / (float)(min-max)) ;
pasX = (float)(pGraphe->Width) / (float)(nbPts-1) ;
drawBrush->Color = colCourbe ;

//
//
array ^tempsPt = gcnew array (temperatures->Length) ;
array ^tempsPtLb = gcnew array (temperatures->Length) ;

//
//
for (int i = 0 ; i < temperatures->Length ; i++)
{
//
//
tempsPt[i].Y = (int) (a * (temperatures[i] - max)) ;
tempsPt[i].X = (int) (i*pasX) ;
//
//
tempsPtLb[i].Y = tempsPt[i].Y - 10;
tempsPtLb[i].X = tempsPt[i].X + 10;
//
//
g->DrawString (temps[i].ToString(), drawFont, drawBrush, tempsPtLb[i] ) ;
//
//
g->DrawArc (penPt,tempsPt[i].X, tempsPt[i].Y, 5, 5, 0, 359) ;
}
//
//
g->DrawCurve(penCourbe, tempsPt, 0.2) ;

}
///
///
///
private: System::Void btTraceGrille_Click(System::Object^ sender, System::EventArgs^ e) {
g->Clear( pGraphe->BackColor) ;
traceGrille() ;
}
///
///
///
private: System::Void btTrace_Click(System::Object^ sender, System::EventArgs^ e) {

temps[0]= 4.5 ; temps[1]= -10 ; temps[2]= 30 ; temps[3]= 40 ;
temps[4]= 80.0 ; temps[5]= 0 ; temps[6]= -12 ; temps[7]= -28.9 ;
temps[8]= -25.0 ; temps[9]= -5.8 ;

g->Clear( pGraphe->BackColor) ;
traceGrille() ;
traceCourbe(temps) ;
}
///
///
///
private: System::Void btTraceCourbe2_Click(System::Object^ sender, System::EventArgs^ e) {
temps[0]= 1.5 ; temps[1]= 4.5 ; temps[2]= -10 ; temps[3]= 30 ; temps[4]= 40 ;
temps[5]= 80.0 ; temps[6]= 0 ; temps[7]= -12 ; temps[8]= -28.9 ;
temps[9]= -25.0 ;

g->Clear( pGraphe->BackColor) ;
traceGrille() ;
traceCourbe(temps) ;
}
};
}
0
Utilisateur anonyme
31 mai 2010 à 21:17
Bonsoir,
Tu as inséré mon code dans la classe du formulaire Form1.
Ceci ne peut pas donc fonctionner.

Il faut par exemple rajouter une classe vierge à ton projet (menu projet/ajouter une classe) et copier la première partie de mon code dedans.

Puis rajouter un timer à ta Form1.
Coller la deuxième partie de mon code dedans.

Passe une bonne soirée.
Et bon courage
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
31 mai 2010 à 21:51
@banana32

Pourquoi ne pas avoir fait un controle "plus poussé" avec ta classe et la déposer ici ? Ca serait pas mal, c'est pas le premier post du forum que vois portant sur le sujet.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
31 mai 2010 à 21:52
En même temps le but n'est pas de recréer zGraph.


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
31 mai 2010 à 22:02
@vincent3360

Pour ton code, désolé mais c'est pas du C#, je ne sais pas ce que c'est, mes compétences se limitent au VB.


Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
Utilisateur anonyme
31 mai 2010 à 22:30
@mayzz
oui bonne idée
si je trouve un peu de temps je me penche dessus.
0
Mayzz Messages postés 2813 Date d'inscription mardi 15 avril 2003 Statut Membre Dernière intervention 2 juin 2020 28
31 mai 2010 à 22:41
Si je peux me permettre un petit conseil :

Public Sub New(ByVal ParentForm As Form, _
                   ByVal CouleurTrait As Color, _
                   ByVal CouleurFond As Color, _
                   ByVal TempsRafraichissement As Double, _
                   ByVal EcartEntrePoints As Integer, _
                   ByVal NombrePointsMax As Integer, _
                   ByVal NombreBasEchelle As String, _
                   ByVal NombreHautEchelle As String)


Ca fait un peu long, mieux vaut faire des propriétés, mais je sais bien que ce code est lié a une utilisation perso et que tu n'a probablement pas eu le temps de te penché dessus.

Si le déboguage est l'art d'enlever les bogues, la programmation doit être l'art de les créer.
0
Rejoignez-nous