IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Macros et VBA Excel Discussion :

faire une fonction qui renvoie un tableau


Sujet :

Macros et VBA Excel

  1. #1
    Membre du Club
    Inscrit en
    Novembre 2008
    Messages
    80
    Détails du profil
    Informations forums :
    Inscription : Novembre 2008
    Messages : 80
    Points : 46
    Points
    46
    Par défaut faire une fonction qui renvoie un tableau
    Bonjour,

    Je dois faire une fonction qui fait des calculs et renvoie un tableau avec quelques dates dedans. Est-ce possible en VBA de faire une fonction qui renvoie un tableau, et si oui comment.

    D'autre part, je n'arrive pas a écrire des valeurs dans une cellule quand je me trouve dans une fonction. Est-ce normal ?

    Comment peut-on détourner ça ?

    merci d'avance

  2. #2
    Membre chevronné Avatar de Krovax
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    1 888
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 1 888
    Points : 2 168
    Points
    2 168
    Par défaut
    Habituellement Un post = un question
    c'est bien plus pratique

    Pour ta première question j'ai déjà chercher a le faire et visiblement c'est impossible, ou du moins je n'ai pas trouvé
    du coup j'ai utilisé une subroutine avec comme donnée mon tableau de résultat.

    deuxième question
    Pour ecrire dans une cellule, je n'ai personnellement aucun problème donc je suppose que c'est possible .
    est ce que tu précise bien l'onglet contenant ta cellule?
    exemple d'une fonction qui écrit une valeur dans une cellule

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Function fonctiontest(i As Integer) As Integer
    Worksheets("Feuil2").Cells(1, 1) = i
    fonctiontest = i
    End Function
    « Il n'y a pas de recette miracle qui permet aux gens d’écrire des programmes corrects sans avoir à réfléchir. Il faut apprendre aux gens comment réfléchir »

  3. #3
    Expert éminent
    Avatar de cafeine
    Inscrit en
    Juin 2002
    Messages
    3 904
    Détails du profil
    Informations forums :
    Inscription : Juin 2002
    Messages : 3 904
    Points : 6 781
    Points
    6 781
    Par défaut
    Hello,

    une fonction peut renvoyer un tableau, en revanche il faudra l'appliquer sur autant de cellules que ton tableau en contient.

    ex :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    Function MaFonctionTableau(x, y)
     
    Application.Volatile
     
    Dim tableau() As Integer
    Dim i As Integer, j As Integer, k As Integer
     
    ReDim tableau(x, y)
    For i = 0 To x - 1
        For j = 0 To y - 1
            k = k + 1
            tableau(i, j) = k
        Next j
    Next i
    MaFonctionTableau = tableau
     
    End Function
    puis tu sélectionne une plage de 3x3 cellules en rentrant la formule
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    =mafonctiontableau(3;3)
    validée par Ctrl + Shift + Entrée
    qui devient donc matricielle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    {=mafonctiontableau(3;3)}
    Ne mettez pas "Problème" dans vos titres, par définition derrière toute question se cache un problème
    12 tutoriels Access



Discussions similaires

  1. appel d'une fonction qui renvoie un tableau
    Par yokou dans le forum VB.NET
    Réponses: 1
    Dernier message: 08/01/2008, 21h52
  2. Comment faire une fonction qui renvoi un tableau.
    Par poly128 dans le forum Delphi
    Réponses: 2
    Dernier message: 01/06/2006, 01h04
  3. [9i] PLS-00320 avec une fonction qui renvoi un curseur
    Par hoaxpunk dans le forum Oracle
    Réponses: 5
    Dernier message: 09/02/2006, 17h04
  4. Fonction qui renvoie un tableau?
    Par elm dans le forum C
    Réponses: 23
    Dernier message: 21/12/2005, 12h44
  5. [VB6] Comment faire une fonction qui renvoie 2 résultats
    Par tazarine dans le forum VB 6 et antérieur
    Réponses: 10
    Dernier message: 15/01/2004, 00h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo