multiplication par un scalaire

  • Initiateur de la discussion Senna
  • Date de début
S

Senna

Guest
Bonjour,

j'ai une macro qui me crée une matrice avec des nombres aléatoires;
je voudrais reproduire la meme matrice à un autre endroit de la feuille en prenant ts les coefficients de la première matrice et en les multipliant par 3 par exemple...
j'ai crée la proc suivante , le début fonctionne et après ca ne marche pas!!

si qqun avait une idée et saurait comment affecter une zone à une matrice à 2 dimensions (style matrice (i,j)) afin de pouvoir faire des transformations sur la matrice pour la modifier ce serait cool!!

Merci.

Sub MultiMatrice()
Dim Matrice(1 To 4, 1 To 4) As Double, Inverse(1 To 4, 1 To 4) As Double, i As Integer, j As Integer
For i = 1 To 4
For j = 1 To 4
Matrice(i, j) = Rnd ' Fill matrice with random numbers
ActiveSheet.Cells(i, j) = Matrice(i, j)
Next
Next

For i = 1 To 4
For j = 1 To 4
Inverse(i, j) = ActiveSheet.Cells(i + 5, j)
Inverse(i, j) = Matrice(i, j) * 3

Next
Next
End Sub
 
S

Sylvain

Guest
bonjour,

une piste simple : utilisation du collage spécial multiplié,
un exemple de code créé par l'enregistreur de macro



Range("C6:J15").Copy
'zone où se trouve la matrice de départ


Range("L6").Select
'zone où on la déplace (collage spécial valeurs)
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks:=False, Transpose:=False

Range("L4").Copy
'cellule contenant le coefficient

Range("L6:S15").Select
'zone de la matrice
'collage spécial multiplié
Selection.PasteSpecial Paste:=xlAll, Operation:=xlMultiply, SkipBlanks:=False, Transpose:=False
End Sub


A+
 

Discussions similaires

Réponses
11
Affichages
286
Réponses
29
Affichages
915

Statistiques des forums

Discussions
312 177
Messages
2 085 973
Membres
103 073
dernier inscrit
MSCHOE16