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

Karma -  
ccm81 Messages postés 11033 Statut Membre -
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

  1. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
    1. Karma
       
      merci

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

      ReDim Mat1(1 to N , 1 to N) as Double
      0
  2. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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
  3. ccm81 Messages postés 11033 Statut Membre 2 434
     
    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