Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

VB Excel Comment appeler une "fonction-matrice" ?

  • Initiateur de la discussion Initiateur de la discussion amaya1
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

A

amaya1

Guest
Bonjour à tous,

J'aimerais écrire une fonction ayant pour entrée un entier(n) et en sortie une matrice mais je ne sais pas comment appeler mes résultats. En effet, je pensais faire :

Function Matrice(n As Integer) As Variant
...
EndFunction

Sub Appel_Mat()
Matrice(n)
End Sub


Mais comment faire pour appeler spécifiquement la valeur contenue dans la telle ligne et telle colonne de ma matrice ? Sachant que je veux éviter de repasser par une feuille Excel ?

Merci d'avance pour votre aide !
 
Re : VB Excel Comment appeler une "fonction-matrice" ?

Bonsoir amaya1
Pas sûr d'avoir bien compris votre problème, mais voyez si ce code peut vous aider.
Code:
[COLOR="DarkSlateGray"]Function Matrice_1(n As Long)
Dim i As Long, j As Long
   [COLOR="SeaGreen"]'Dimensionnement et remplissage de la matrice.
   '(Adaptez à votre problème.)[/COLOR]
ReDim x(1 To n, 1 To n)
   For i = 1 To n
      For j = 1 To n
         x(i, j) = 10 * i + j
      Next j
   Next i

   Matrice_1 = x
End Function

Sub toto()
Dim u()
   u = Matrice_1(3)
   [COLOR="SeaGreen"]'Afficher la valeur de la ligne 1, colonne 2 :[/COLOR]
   MsgBox "Ligne 1, colonne 2 : " & u(1, 2)
End Sub
[/COLOR]
ROGER2327
 
Re : VB Excel Comment appeler une "fonction-matrice" ?

Bonjour,

Si la matrice (par ex: ici matrice 3x3) est écrite dans une feuille de calcul, tu la nommes (par exemple ici : Mat1)

Tu écris dans un module (pas dans un code de feuille):

Code:
Option Explicit
Function EleMat(Mat As String, Lig As Long, Col As Long)
EleMat = Range(Mat).Cells(Lig, Col).Value
End Function

Et dans une cellule de la feuille tu l'appelles ainsi (ici pour l'élément (2,3) ) :

=elemat("Mat1";2;3)

On peut l'appeler depuis "Insérer/Fonctions/Personnalisées" (ne pas oublier les guillemets autour du nom)

Pour un appel depuis VBA c'est :

Code:
Variable = EleMat("Mat1", 2, 3)


Cordialement
 
Dernière édition:
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

D
Réponses
4
Affichages
1 K
N
Réponses
6
Affichages
2 K
P
  • Question Question
Réponses
1
Affichages
3 K
Patrosso
P
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…