Créer une courbe en cloche, Excel VBA

Créer une courbe en cloche, Excel VBA

Créer une courbe en cloche (ou courbe de Gauss) dans Excel à l’aide de VBA implique plusieurs étapes : calcul des valeurs de la distribution normale, création du graphique et ajout des courbes. Voici un code détaillé qui vous guidera à travers ce processus. 

Étapes pour créer la courbe en cloche 

  1. Calculer les valeurs de la distribution normale (fonction de densité de probabilité). 
  2. Créer un graphique basé sur ces valeurs. 
  3. Personnaliser le graphique pour afficher une courbe lisse. 

Explications du Code VBA 

Voici le code VBA détaillé pour générer une courbe en cloche dans Excel : 

Sub CreerCourbeEnCloche() 
    ' Définir les paramètres de la courbe normale (moyenne et écart type) 
    Dim moyenne As Double 
    Dim ecartType As Double 
    Dim i As Integer 
    Dim x As Double 
    Dim y As Double 
    Dim nbPoints As Integer 
    Dim debutX As Double 
    Dim finX As Double 
    Dim plageX As Range 
    Dim plageY As Range 
    ' Initialisation des paramètres de la courbe normale 
    moyenne = 0         ' Moyenne de la distribution normale 
    ecartType = 1       ' Ecart-type de la distribution normale 
    nbPoints = 100      ' Nombre de points de données pour la courbe 
    debutX = -5         ' Valeur du début de l'axe X 
    finX = 5            ' Valeur de la fin de l'axe X 
    ' Calculer les valeurs X et Y pour la courbe 
    For i = 1 To nbPoints 
        ' Calcul de la valeur X pour chaque point 
        x = debutX + (finX - debutX) * (i - 1) / (nbPoints - 1) 
        ' Calcul de la valeur Y en fonction de la fonction de densité de probabilité 
        y = (1 / (ecartType * Sqr(2 * WorksheetFunction.Pi()))) * _ 
            Exp(-((x - moyenne) ^ 2) / (2 * ecartType ^ 2)) 
        ' Placer les valeurs dans les cellules Excel (Colonne X et Y) 
        Cells(i, 1).Value = x 
        Cells(i, 2).Value = y 
    Next i 
    ' Définir les plages de données pour le graphique 
    Set plageX = Range(Cells(1, 1), Cells(nbPoints, 1)) 
    Set plageY = Range(Cells(1, 2), Cells(nbPoints, 2)) 
    ' Créer un graphique de type "Nuage de points" (Scatter) 
    Dim graphique As Chart 
    Set graphique = Charts.Add 
    With graphique 
        .ChartType = xlXYScatterSmooth 
        .SetSourceData Source:=plageX 
        .SeriesCollection(1).XValues = plageX 
        .SeriesCollection(1).Values = plageY 
        .HasTitle = True 
        .ChartTitle.Text = "Courbe en Cloche (Distribution Normale)" 
        .Axes(xlCategory, xlPrimary).HasTitle = True 
        .Axes(xlCategory, xlPrimary).AxisTitle.Text = "Valeur X" 
        .Axes(xlValue, xlPrimary).HasTitle = True 
        .Axes(xlValue, xlPrimary).AxisTitle.Text = "Densité de Probabilité" 
    End With 
End Sub

Explication du code 

1. Définir les paramètres de la courbe : 

  • moyenne : La moyenne de la distribution normale (0 dans cet exemple). 
  • ecartType : L’écart-type de la distribution normale (1 dans cet exemple). 
  • nbPoints : Le nombre de points à calculer pour dessiner la courbe. 
  • debutX et finX : Les bornes de l’axe X de la courbe (ici de -5 à 5). 

2. Calcul des valeurs : 

  • Pour chaque point, la valeur x est calculée de manière régulière entre debutX et finX. 
  • La valeur y est ensuite calculée en utilisant la formule de la fonction de densité de probabilité d’une distribution normale : 

y=(1 / σ.√(2π)) × exp⁡(−(x − μ)² / 2.σ²)

où : 

  • μ est la moyenne (0 ici), 
  • σ est l’écart-type (1 ici). 

3. Création du graphique : 

  • Les valeurs de x et y sont stockées dans les colonnes A et B d’Excel. 
  • Un graphique de type « Nuage de points lissé » (xlXYScatterSmooth) est créé. 
  • Les axes sont étiquetés et le titre du graphique est ajouté. 

Comment utiliser le code 

1. Ouvrir l’éditeur VBA : 

  • Pressez Alt + F11 pour ouvrir l’éditeur VBA. 

2. Créer un nouveau module : 

  • Dans l’éditeur VBA, allez dans Insertion -> Module. 

3. Coller le code : 

  • Collez le code ci-dessus dans le module. 

4. Exécuter la macro : 

  • Fermez l’éditeur VBA et retournez dans Excel. 
  • Pressez Alt + F8, sélectionnez CreerCourbeEnCloche, puis cliquez sur Exécuter. 

Résultat 

Le graphique généré sera une courbe en cloche représentant une distribution normale avec la moyenne égale à 0 et l’écart-type égal à 1. Vous pouvez ajuster les paramètres pour personnaliser la courbe (par exemple, en modifiant la moyenne et l’écart-type). 

Facebook
Twitter
LinkedIn
WhatsApp
Email
Print
0
Nous aimerions avoir votre avis, veuillez laisser un commentaire.x