XL 2016 Trouver la formule de résultats pondérés

Pb68

XLDnaute Nouveau
Bonjour à tous,

Je recherche un moyen pour trouver une formule selon des résultats basés sur des critères identiques.
Pour faire simple, j'ai une population de 50 individus évaluée sur 5 critères de 1 à 10. J'ai donc 50 résultats mais il y a une pondération dans les critères que je ne connais pas.

J'aimerais trouver la formule de calcul me permettant de trouver les pondérations.

Existe t-il une formule me permettant de trouver la formule employée ?

Merci d'avance.
 

Victor21

XLDnaute Barbatruc
Re,

Encore de l'algèbre plus qu'un problème Excel.
Soit à résoudre 10 (5 devraient suffire) équations à 5 inconnues :
5a + 6b + 2c + 8d + 7e = 58
6a + 2b + 4c + 6d + 5e = 50
1a + 2b + 9c + 6d + 6e = 62
3a + 1b + 3c + 9d + 2e = 34
6a + 3b + 2c + 9d + 9e = 56
8a + 5b + 9c + 3d + 1e = 72
4a + 1b + 8c + 5d + 9e = 66
8a + 5b + 8c + 5d + 8e = 84
1a + 1b + 6c + 4d + 3e = 39
3a + 3b + 6c + 3d + 7e = 56
Transposez la réponse de @job75 ici
 

vgendron

XLDnaute Barbatruc
Hello @Victor21

Exact.. arithmétique mathématique...

comme je me suis amusé à retrouver l'algo du pivot de gauss et traduit..
je poste
VB:
Sub Pivotgauss()
   
    Dim MatrA() As Variant
    Dim MatrB() As Variant
   
    MatrA = Range("B6:F10").Value
    MatrB = Range("G6:G10").Value
   
    For i = LBound(MatrA, 1) To UBound(MatrA, 1) - 1 'sur chaque ligne
        pivot = MatrA(i, i) 'on récupère le Pivot
        If pivot <> 0 Then
            For j = i + 1 To UBound(MatrA, 1) 'pour les lignes suivantes à réduire
                coef = MatrA(j, i) / pivot 'calcul du coef à appliquer
                For k = LBound(MatrA, 2) To UBound(MatrA, 2)
                    MatrA(j, k) = MatrA(j, k) - MatrA(i, k) * coef 'lignej=ligneJ -Lignei*Coeff ==> donne 0 sur la première colonne traitée
                Next k
                MatrB(i + 1, 1) = MatrB(i + 1, 1) - MatrB(i, 1) * coef 'idem sur la matrice B (une seule colonne)
                Range("B20").Resize(UBound(MatrA, 1), UBound(MatrA, 2)) = MatrA 'on colle le résultat en B20 pour suivre le déroulement en mode Pas à Pas
            Next j
        End If
       
    Next i
   
    Range("B20").Resize(UBound(MatrA, 1), UBound(MatrA, 2)) = MatrA
    Range("G20").Resize(UBound(MatrB, 1), UBound(MatrB, 2)) = MatrB
   

End Sub

Note qu'avec l'exemple donné. je n'arrive pas à retrouver les coeff (travail effectué à la main après cette macro)
il faut vérifier la théorie... matrice inversible, déterminant, pivot...==> litterature abondante sur mon ami google.. :-D
 

vgendron

XLDnaute Barbatruc
Correction pour l'erreur que je viens de voir sur la matrice B
VB:
Sub Pivotgauss()
   
    Dim MatrA() As Variant
    Dim MatrB() As Variant
   
    MatrA = Range("B6:F10").Value
    MatrB = Range("G6:G10").Value
   
    For i = LBound(MatrA, 1) To UBound(MatrA, 1) - 1 'sur chaque ligne
        pivot = MatrA(i, i) 'on récupère le Pivot
        If pivot <> 0 Then
            For j = i + 1 To UBound(MatrA, 1) 'pour les lignes suivantes à réduire
                coef = MatrA(j, i) / pivot 'calcul du coef à appliquer
                For k = LBound(MatrA, 2) To UBound(MatrA, 2)
                    MatrA(j, k) = MatrA(j, k) - MatrA(i, k) * coef 'lignej=ligneJ -Lignei*Coeff ==> donne 0 sur la première colonne traitée
                Next k
                MatrB(j, 1) = MatrB(j, 1) - MatrB(i, 1) * coef 'idem sur la matrice B (une seule colonne)
                Range("B20").Resize(UBound(MatrA, 1), UBound(MatrA, 2)) = MatrA 'on colle le résultat en B20 pour suivre le déroulement en mode Pas à Pas
                Range("G20").Resize(UBound(MatrB, 1), UBound(MatrB, 2)) = MatrB
            Next j
        End If
    Next i
   
    Range("B20").Resize(UBound(MatrA, 1), UBound(MatrA, 2)) = MatrA
    Range("G20").Resize(UBound(MatrB, 1), UBound(MatrB, 2)) = MatrB
End Sub
 

Pb68

XLDnaute Nouveau
Re-bonjour,

J'ai testé le fichier mais il y a un problème que je n'arrive pas à résoudre.
Dans le fichier joint, si je remplace la valeur en rouge "2" par "3", je n'obtiens plus les coefficients.
Avec mes valeurs réelles, je n'arrive donc pas à retrouver les coefficients.
Pouvez-vous m'aider svp pour modifier la macro ou les formules ?

Merci d'avance.
 

Pièces jointes

  • exemplev3.xlsm
    26.9 KB · Affichages: 21

Discussions similaires

Statistiques des forums

Discussions
312 153
Messages
2 085 800
Membres
102 980
dernier inscrit
brossadan