1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
| 'écriture de l'axe des abscisses sur chaque feuille
X1B = X1 - 100 'X1 valeur d'une textbox (par exemple 2050)
X2B = X2 + 101 'X2 valeur d'une textbox (par exemple 2250)
DerL = X2B - X1B 'Dernière ligne
For Ligne = 1 To DerL Step 1
Sheets("Pic1").Cells(Ligne, 1) = X1B 'Pic1
X1B = X1B + 1
Next Ligne
'Pic n°1
Colonne = 2
n1 = Prct1 / np 'Prct1 valeur d'une textbox (100) et np valeur d'une textbox (10)
For n = n1 To Prct1 Step n1
For x = -100 To 100 Step 1
'ordonnée
xx = x + P1 'z=position du pic renseignée dans l'userform (2100)
'abscisse
y = 0.5 * n / ((2 * pi) ^ (0.5)) * 2.71828 ^ (-((x ^ 2) / 2)) + 0.5 * n / (1 + (x ^ 2)) 'n=numéro de pulse, traçage pseudo voigt (50% gauss 50% Lorentz)
For Ligne = 1 To DerL Step 1
If xx = Sheets("Pic1").Cells(Ligne, 1) Then
Sheets("Pic1").Cells(Ligne, Colonne) = y
ElseIf xx <> Sheets("Pic1").Cells(Ligne, 1) Then
Sheets("Pic1").Cells(Ligne, Colonne) = 0
End If
Next Ligne
Next x
Colonne = Colonne + 1
Next n |