[VBA-Excel] Fonctions matricielles
Résolu
tedori
Messages postés
24
Date d'inscription
Statut
Membre
Dernière intervention
-
tedori Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
tedori Messages postés 24 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je cherche à créer une fonction qui fonctionne par exemple comme les fonctions de calcul matriciel. C'est à dire une fonction qui modifie les différentes cellules dans lesquelles a été rentré la même fonction.
Voilà un exemple qui fonctionne :
Function Test(rng as Range) as range
Dim rng2 as Range
Set rng2 = Range(rng.Address)
set Test = rng2
end function
Seulement je souhaiterai pouvoir choisir les valeurs à affecter à chaques cellules !
Quelque chose comme ca (évidemment ca fonctionne pas) :
Function Test() as range
Dim rng2 as Range
Set rng2.Cells(1,1) = 999
set Test = rng2
end function
je cherche à créer une fonction qui fonctionne par exemple comme les fonctions de calcul matriciel. C'est à dire une fonction qui modifie les différentes cellules dans lesquelles a été rentré la même fonction.
Voilà un exemple qui fonctionne :
Function Test(rng as Range) as range
Dim rng2 as Range
Set rng2 = Range(rng.Address)
set Test = rng2
end function
Seulement je souhaiterai pouvoir choisir les valeurs à affecter à chaques cellules !
Quelque chose comme ca (évidemment ca fonctionne pas) :
Function Test() as range
Dim rng2 as Range
Set rng2.Cells(1,1) = 999
set Test = rng2
end function
A voir également:
- [VBA-Excel] Fonctions matricielles
- Liste déroulante excel - Guide
- Fonction si et excel - Guide
- Word et excel gratuit - Guide
- Déplacer colonne excel - Guide
- Excel compter cellule couleur sans vba - Guide
1 réponse
Bon, j'ai finalement trouvé comment faire.
Voilà un exemple :
Dans la feuille excel on selectionne 2 cellules en colonne (de haut en bas), on appui sur F2, on rentre "=Test2()" puis on presse CTRL+SHIFT+ENTREE, et là ca fonctionne pour une fonction du type :
Function Test2()
Dim rg(1 To 2, 1 To 1) As Double
rg(1, 1) = 9
rg(2, 1) = 88
Test2 = rg
End Function
Voilà un exemple :
Dans la feuille excel on selectionne 2 cellules en colonne (de haut en bas), on appui sur F2, on rentre "=Test2()" puis on presse CTRL+SHIFT+ENTREE, et là ca fonctionne pour une fonction du type :
Function Test2()
Dim rg(1 To 2, 1 To 1) As Double
rg(1, 1) = 9
rg(2, 1) = 88
Test2 = rg
End Function