OVH Cloud OVH Cloud

Determat

2 réponses
Avatar
garnote
Bonjour,

J'ai deux lignes adjacentes contenant les nombres suivants:
1 2 3
3 4 5

À partir de ces deux lignes, je veux calculer le déterminant
de la matrice:
1 0 0
1 2 3
3 4 5
sans ajouter 1 0 0 dans des cellules.
Comme ceci, ça fonctionne
=DETERMAT({1.0.0;1.2.3;3.4.5})
mais j'aimerais savoir si c'est possible d'obtenir la
même chose en me référant aux adresses des cellules
contenant 1,2,3 et 3,4,5 ?

A+ et merci,

Serge

2 réponses

Avatar
Daniel.M
Salut Sergio,

L'ajustement (décalage) automatique d'un range et l'ajout d'une quantité en
première ligne me paraissent très difficiles à réaliser par formule.

Pourquoi pas avec VBA?

Ensuite:
ÞTERMAT(ajout1lignede3nombres(A1:C2;1;0;0)) ' matricielle


Public Function ajout1lignede3nombres(plage As Range, nn1 As Double, nn2 As
Double, nn3 As Double) As Variant
Dim V As Variant
Dim i As Long, j As Integer, ii As Long, jj As Integer

i = plage.Rows.Count: j = plage.Columns.Count

ReDim V(1 To i + 1, 1 To j)

V(1, 1) = nn1
V(1, 2) = nn2
V(1, 3) = nn3

For ii = 1 To i
For jj = 1 To j
V(ii + 1, jj) = plage(ii, jj)
Next jj
Next ii

ajout1lignede3nombres = V
End Function

Salutations,

Daniel M.

"garnote" wrote in message
news:
Bonjour,

J'ai deux lignes adjacentes contenant les nombres suivants:
1 2 3
3 4 5

À partir de ces deux lignes, je veux calculer le déterminant
de la matrice:
1 0 0
1 2 3
3 4 5
sans ajouter 1 0 0 dans des cellules.
Comme ceci, ça fonctionne
ÞTERMAT({1.0.0;1.2.3;3.4.5})
mais j'aimerais savoir si c'est possible d'obtenir la
même chose en me référant aux adresses des cellules
contenant 1,2,3 et 3,4,5 ?

A+ et merci,

Serge














Avatar
garnote
Salut Daniel,

Que dire de plus, c'est impeccable.
Merci

Serge


"Daniel.M" a écrit dans le message de
news:
Salut Sergio,

L'ajustement (décalage) automatique d'un range et l'ajout d'une quantité
en
première ligne me paraissent très difficiles à réaliser par formule.

Pourquoi pas avec VBA?

Ensuite:
ÞTERMAT(ajout1lignede3nombres(A1:C2;1;0;0)) ' matricielle


Public Function ajout1lignede3nombres(plage As Range, nn1 As Double, nn2
As
Double, nn3 As Double) As Variant
Dim V As Variant
Dim i As Long, j As Integer, ii As Long, jj As Integer

i = plage.Rows.Count: j = plage.Columns.Count

ReDim V(1 To i + 1, 1 To j)

V(1, 1) = nn1
V(1, 2) = nn2
V(1, 3) = nn3

For ii = 1 To i
For jj = 1 To j
V(ii + 1, jj) = plage(ii, jj)
Next jj
Next ii

ajout1lignede3nombres = V
End Function

Salutations,

Daniel M.

"garnote" wrote in message
news:
Bonjour,

J'ai deux lignes adjacentes contenant les nombres suivants:
1 2 3
3 4 5

À partir de ces deux lignes, je veux calculer le déterminant
de la matrice:
1 0 0
1 2 3
3 4 5
sans ajouter 1 0 0 dans des cellules.
Comme ceci, ça fonctionne
ÞTERMAT({1.0.0;1.2.3;3.4.5})
mais j'aimerais savoir si c'est possible d'obtenir la
même chose en me référant aux adresses des cellules
contenant 1,2,3 et 3,4,5 ?

A+ et merci,

Serge