Mise à jour d'un ancien programme VBA

Salut a tous les participants

J'ai un problème avec les calculs de matrices en VBA. Sur ceux, j'ai fait des recherches et je suis tombé sur une résolution ancienne dont les opérateurs(Data, Mat) ne sont pas réconnus actuellement. je me dis, peut etre, qu'ils ont été changés en d'autres mais dont j'ignore pour le moment. Voici, je voulais calculer la matrice de deux nombres: F=C*B (C=invA):

matrice A

2.7 -0.2 0 -0.5

0.2 -2.7 0.5 2

0 0.5 -2 0.5

0.5 2 0.5 -3.25

matrice B

  • 3.4
  • 3.4
27

0

voici le programme que j'ai trouve:

10 print "matrice"

20 data 2.7 -0.2 0 -0.5

30 data 0.2 -2.7 0.5 2

40 data 0 0.5 -2 0.5

50 data 0.5 2 0.5 -3.25

60 data -3.4 -3.4 27 0

70 dim A(4,4), C(4,4), B(4), F(4)

80 Mat READ A,B

90 Mat C=InvA

100 Mat F=C*B

110 Mat print F

120 End

j'ai essayé d'ecrire le programme mais il ne reconnait pas DATA et MAT. C'est pour cette raison je demande de l'aide à tous les participants.

A l'attente d'une suite favorable, je remercie d'avance tout le monde.

Bonjour,

Un essai

Cdlt

28yneslaruss.xlsx (9.37 Ko)

ok Jean-Eric, mais je ne vois pas le format VBA Vous pouvez m'eclairer.

Merci d'avance!!!

Re,

J'ai utilisé 2 fonctions que le tableur propose

A toi de les découvrir

Et le résultat est bon

Cdlt

Merci Jean-Eric, mais voici le programme que j'ai ecris:

Sub matrice()

Data 2.7, -0.2, 0, -0.5

Data 0.2, -2.7, 0.5, 2

Data 0, 0.5, -2, 0.5

Data 0.5, 2, 0.5, -3.25

Data -3.4, -3.4, 27, 0

Dim A(4, 4), C(4, 4), B(4), F(4)

C = МОБР(A)

F = МУМНОЖ(C, B)

MsgBox "matrice F" & F

End Sub

Comment definir Data car Il ne repond pas

Re,

J'ai utilisé les fonctions INVERSEMAT et PRODUITMAT

Vois l'aide associée à ces 2 fonction.

Cdlt

ok j'ai essaye mais elles ne foncionnent pas. Voici le programme que j'ai ecris:

Sub matrice()

Dim matA(3, 3), matC(3, 3), matB(3), matF(3)

For i = 0 To 3

matA(i, 0) = InputBox("A" & i + 2)

matA(i, 1) = InputBox("B" & i + 2)

matA(i, 2) = InputBox("C" & i + 2)

matA(i, 3) = InputBox("D" & i + 2)

Next i

For i = 0 To 3

matB(i) = InputBox("F" & i + 2)

Next i

matC = InverSemat(matA)

matF = produitmat(matC * matB)

MsgBox "matF" & matF

End Sub

Comment je peux definir ces fonctions?

Merci d'avance!!!!

Re,

Ce sont des formules matricielles qu'il faut valider pae CTRL+MAJUSCULE et ENTER

Cdlt

nb : je ne sais toujours pas si mes résultats correspondent à ce que tu attendais

Ben j'essaye mais ça ne marche pas avec ces fonctions "inversemat" et "produitmat". Peut etre ma syntaxe n'est pas reelle. comment tu trouves?

Re,

Quels sont les résultats attendus de ton premier post?

Cdlt

Bonsoir,

la solution qui t'est proposée est une solution en excel via des fonctions standard. ce n'est pas une adaptation de ton code en VBA.

Voici les resultats: F=C*B (C=matrice inverse de A)

matriceA:

2.7 -0.2 0 -0.5

0.2 -2.7 0.5 2

0 0.5 -2 0.5

0.5 2 0.5 -3.25

matrice B

  • 3.4
  • 3.4
  • 27
0

le resultat donne:

matrice F

2

14

20

12

C'est ce résultat que je cherche.


tu as une idee pour ce cas


Voici les resultats: F=C*B (C=matrice inverse de A)

matriceA:

2.7 -0.2 0 -0.5

0.2 -2.7 0.5 2

0 0.5 -2 0.5

0.5 2 0.5 -3.25

matrice B

  • 3.4
  • 3.4
  • 27
0

le resultat donne:

matrice F

2

14

20

12

C'est ce résultat que je cherche.

Bonjour,

Tu as le résultat escompté depuis le 22/09 à 13:33.

Il suffit de modifier la valeur 27 communiqué dans ton 1er. message par -27 communiqué dernièrement.

Penses à clore le sujet.

Cdlt

ok mais il ya un probleme au niveau du syntaxe que j'ai utilise. il n'est pas conforme. tu peux verifier cela?

Bonjour,

tu as dû rater le message de s2so4 :

la solution qui t'est proposée est une solution en excel via des fonctions standard. ce n'est pas une adaptation de ton code en VBA.

C'est à dire que tu n'as pas besoin de vba pour ton problème, mais d'utiliser les fonctions directement sur ta feuille.

Si tu veux utiliser des fonctions feuilles en vba il faut mettre Application.Nom_de_la_Fonction(paramètres)

eric

Re,

Bonjour Eriiic

Ne peux-tu pas joindre ton fichier avec tes exemples et les résultats escomptés?

Cdlt

ok Jean Eric, j'ai cherché une fonction que je pourrais associer pour convertir ces fonctions(МОБР et МУМНОЖ) en VBA, mais de solution. Donc je prends en compte tes resultats en excel.

Merci pour le

Merci aux autres

coordialement!!!!

Rechercher des sujets similaires à "mise jour ancien programme vba"