Range(cells(1, 1), cells (N, N))

Fermé
Karma - 8 mai 2012 à 13:11
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 - 9 mai 2012 à 10:32
Bonjour,

j'ai un problème avec un 'range'... pour un cas de mon problème, j'utilise les cellules A1, à E5.. la fonction ci dessous marche bien..
Worksheets("Calcul").Range("A&:E5") = Application.WorksheetFunction.MInverse(Mat1)

mais je suis dans un problème avec plusieurs variables, et je ne peut pas tout le temps avoir la même plage .. j'ai essayer avec

Worksheets("Calcul").Range(Cells(1, 1), Cells(N, N)) = Application.WorksheetFunction.MInverse(Mat1)

mais ça marche pas..

3 réponses

ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 425
Modifié par ccm81 le 8/05/2012 à 14:45
re

ou pour exécuter directement l'inversion dans VBA

Dim n As Long, lideb As Long, codeb As Long 
Dim plage As Range 
n = Range("Mat1").Rows.Count 
lideb = ActiveCell.Row 
codeb = ActiveCell.Column 
Set plage = Range(Cells(lideb, codeb), Cells(lideb + n - 1, codeb + n - 1)) 
plage.Value = WorksheetFunction.MInverse(Range("Mat1"))

bonne suite
1
merci

mais, il me met une erreur sur la dernière ligne
plage.Value = WorksheetFunction.MInverse(Range("Mat1"))
0
Mat1 est défini comme ci-dessous

ReDim Mat1(1 to N , 1 to N) as Double
0
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 425
8 mai 2012 à 14:28
bonjour

essaies ceci pour afficher la matrice inverse de Mat1 à partir de la cellule active

Dim n As Long, lideb As Long, codeb As Long
Dim plage As Range
n = Range("Mat1").Rows.Count
lideb = ActiveCell.Row
codeb = ActiveCell.Column
Set plage = Range(Cells(lideb, codeb), Cells(lideb + n - 1, codeb + n - 1))
plage.FormulaArray = "=MINVERSE(Mat1)"

bonne suite
0
ccm81 Messages postés 10900 Date d'inscription lundi 18 octobre 2010 Statut Membre Dernière intervention 2 novembre 2024 2 425
9 mai 2012 à 10:32
bonjour

dans mon exemple j'ai supposé que la matrice à inverser était une plage de la feuille nommée Mat1, on peut bien sur adapter au cas où Mat1 est de type array défini dans VBA, quelques exemples

https://www.cjoint.com/?0EjkEj4Ngku

bonne suite
0