Table loi normale VBA

Bonjour à tous !

Je requiert votre aide sur mon projet VBA. Etant tout débutant en VBA, je ne sais pas comment faire.

Voici mon problème :

Je souhaite créer une table de loi normale issue de la formule =LOI.NORMALE.N(x,0,1,VRAI), où x est la valeur à faire varier.

Pour faire plus clair, voici ce dont j'aurais besoin :

a

bcdefghij

k

=loi.normale.n(k+a,0,1,VRAI)=loi.normale.n(k+b,0,1,VRAI)=loi.normale.n(k+c,0,1,VRAI).....................
l=loi.normale.n(l+a,0,1,VRAI)=loi.normale.n(l+b,0,1,VRAI)=loi.normale.n(k+a,0,1,VRAI).....................

m

=loi.normale.n(m+a,0,1,VRAI)=loi.normale.n(m+b,0,1,VRAI)=loi.normale.n(m+c,0,1,VRAI).....................
n..............................
o..............................
p...

...

........................
q..............................
r.........

...

...

...............
s...

...

........................
t..............................

Je ne remplis pas pas toutes les cases pour limiter la taille du tableau, mais j'espère que vous avez compris mon besoin..

Pour ce faire j'ai essayé diverses manières, sans succès. J'ai enfin trouvé quelque chose qui s'en rapproche, mais il me remplit toutes les cellules avec la même valeur. J'ai donc défini la variable x qui est censée être l'addition de la valeur dans la première colonne avec la valeur dans la première ligne, mais je ne trouve pas le code permettant d'avoir cette valeur, et qu'elle se modifie en fonction de la cellule qui est entrain de se remplir :

Sub loinormale()

Dim cel As Range
Dim x As Variant

For Each cel In Range("B2:K11")

x = ??

cel = Application.WorksheetFunction.Norm_Dist(x, 0, 1, True)
Next

End Sub

Quelqu'un a-t-il une solution à me proposer ?

Merci d'avance !

bonjour,

une proposition d'adaptation de ton code. mettre les valeurs d'entête de lignes et de colonnes en colonne 1 et ligne 1 puis lancer la macro

Sub loinormale()
    Dim x As Variant, i&, j&
    For j = 2 To 11 'colonne B à K
        For i = 2 To 11 'ligne 2 à 11
            x = Cells(1, j) + Cells(i, 1) 'x=valeur en ligne 1 colonne j + valeur en ligne i, colonne 1
            Cells(i, j) = Application.WorksheetFunction.Norm_Dist(x, 0, 1, True) 'mettre résultat fonction en ligne i, colonne j
        Next i
    Next j
End Sub

Merci, ça fonctionne, c'est parfait !

Et merci pour la réactivité de ta réponse !

Rechercher des sujets similaires à "table loi normale vba"