Le Pb c'est que je n'arrive pas a récupérer le résultat de cette fonction.
Je doit m'y prendre comme un manche. je comprends pas.
Comment dois-je faire pour que la matrice devienne la matrice inversée???
Merci d'avance
Ma commande est la suivante:
Sub test()
Dim Matrice(6, 6) As Double
For Row = 1 To 6
For Column = 1 To 6
Matrice(Row, Column) = Cells(5 + (Row - 1), 3 + (Column - 1))
Next
Next
Call InverseMatrice(Matrice())
For Row = 1 To 6
For Column = 1 To 6
Cells(12 + (Row - 1), 3 + (Column - 1)) = Matrice(Row, Column)
Next
Next
End Sub
A voir également:
Problème pour récuoérer les resultats de ma fonction
CGSI3
Messages postés416Date d'inscriptionvendredi 22 février 2008StatutMembreDernière intervention 7 janvier 20181 6 nov. 2010 à 14:50
By ref / By val ?
En fait je pense que ta fonction ne renvoi rien ou plutot
elle ne change rien a la matrice de départ. (verifie)
Pour exemple en vb.net cela donne ça:
Function Transposer_Matrice(ByRef Matrice As Single(,)) As Single(,)
'Author : CGSI3 But: Transpose une matrice en vb.net
Dim ltTab As Single(,), Max1 As Integer, Max2 As Integer
Max1 Matrice.GetUpperBound(0) : Max2 Matrice.GetUpperBound(1)
ReDim ltTab(Max2, Max1)
For cp1 As Integer = 0 To Max1
For cp2 As Integer = 0 To Max2
ltTab(cp2, cp1) = Matrice(cp1, cp2)
Next cp2
Next cp1
Return ltTab
End Function
Cordialement CGSI3
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_vevel
Messages postés62Date d'inscriptionjeudi 26 mai 2005StatutMembreDernière intervention30 mai 20171 6 nov. 2010 à 15:19
Je viens d'essayer comme tu dis avec:
Dim myData() as variant
Dim MyTransposedData() as variant
myTransposedData() = Application.WorksheetFunction.Transpose(myData)
J'ai un message d'erreur disant "l'indice n'appartient pas a la selection" lorsqu'il commence a charger la premiere valeur de myData(1,1)
et si je change comme ceci
Dim Matrice(6, 6) As Variant
Dim myTransposedData(6, 6) As Variant
J'ai un message d'erreur disant "Impossible d'affecter a un tableau" en surlignant:
myTransposedData() = Application.WorksheetFunction.Transpose(Matrice)
cnt
Messages postés219Date d'inscriptionlundi 21 novembre 2005StatutMembreDernière intervention20 décembre 20101 7 nov. 2010 à 15:40
Salut
En faîte, c'est l'argument de la fonction "InverseMatrice" qui sert de passerelle aux variables modifiées, ici c'est la variable "Matrice" de type tableau. Donc à la fin de la Fonction "InverseMatrice", il faut affecter les valeurs de la matrice inverse à la variable(ici tableau) passée en argument.
Suite: la fin de la fonction
' retourne le résultat : la deuxième partie de la matrice M()
ReDim MInv(n, n)
For i = 1 To n
For j = 1 To n
MInv(i, j) = M(i, j + n)
Matrice(i, j) = MInv(i, j)
Next
Next
'InverseMatrice = MInv()