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 :

Tableau en 3D


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 19
    Par défaut Tableau en 3D
    Bonjour,

    Je réussis à créer un tableau 3D mais je ne trouve pas une solution pour renvoyer ce tableau dans une plage Excel.

    Mon code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Sub Somme3D()
        Dim tableau(6, 2, 3) As Variant
        Sheets(4).Range("b2:c7").ClearContents
        For cpt1 = 1 To 3
            For cpt2 = 1 To 2
                For cpt3 = 1 To 6
                    tableau(cpt3, cpt2, cpt1) = Sheets(cpt1).Cells(cpt3 + 1, cpt2 + 1)
                    Sheets(4).Cells(cpt3 + 1, cpt2 + 1) = Sheets(4).Cells(cpt3 + 1, cpt2 + 1) + _
                    tableau(cpt3, cpt2, cpt1)
                Next
            Next
        Next
        'Sheets(4).Range("b2:c7") = Application.Sum(tableau)
    End Sub
    La solution actuelle est de renvoyer les valeurs une par une dans la feuille d'arrivée en additionnant avec la valeur déjà existante.

    Si quelqu'un a une idée, je suis preneur.

    Merci

    Ellimac

  2. #2
    Expert confirmé Avatar de Patrice740
    Homme Profil pro
    Retraité
    Inscrit en
    Mars 2007
    Messages
    2 478
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 71
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Retraité
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Mars 2007
    Messages : 2 478
    Par défaut
    Je réussis à créer un tableau 3D mais je ne trouve pas une solution pour renvoyer ce tableau dans une plage Excel.
    Vu qu'une plage n'a que 2 dimensions, tu dois envoyer ton tableau sur autant de plages que la 3ème dimension en comporte. C'est ce que tu fais en utilisant 3 pages, tu aurais aussi pu utiliser 3 plages d'une même feuille, ça revient au même.

    Une fois ton tableau transféré sur les 3 plages, tu peux faire des opérations (somme ou autre) sur ces plages avec la consolidation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        Feuil4.Cells(2, "B").Consolidate _
            Sources:=Array("Feuil1!R2C2:R7C3", "Feuil2!R2C2:R7C3", "Feuil3!R2C2:R7C3"), _
            Function:=xlSum, TopRow:=False, LeftColumn:=False, CreateLinks:=False
    Patrice

  3. #3
    Expert confirmé
    Avatar de Didier Gonard
    Homme Profil pro
    Formateur Office et développeur VBA en freelance
    Inscrit en
    Février 2008
    Messages
    2 805
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Formateur Office et développeur VBA en freelance

    Informations forums :
    Inscription : Février 2008
    Messages : 2 805
    Par défaut
    Bonjour,

    On retrouve ce schéma dans les TCD et les piles de feuilles...

    vois ceci :

    X. Est-il utile de construire des variables tableau à plus de 2 dimensions

    XI. Analogies avec la représentation visuelle des feuilles Excel


    cordialement,

    Didier

  4. #4
    Membre averti
    Inscrit en
    Octobre 2007
    Messages
    19
    Détails du profil
    Informations forums :
    Inscription : Octobre 2007
    Messages : 19
    Par défaut Re : Tableau en 3D
    Bonjour,

    Merci de vos réponses. En fait je suis en train d'appréhender les variables tableaux que je n'avais pas pour l'instant utilisées.
    Je penses être OK pour les tableaux à 1 et 2 dimensions.
    Donc, je m'avance vers les tableaux 3D, même si j'ai des doutes sur leur utilité, mais bon pour le fun disons.
    Si j'en reste à des tableaux à 2D : est-il possible d'additionner des tableaux ?

    Merci de votre collaboration.

    Ellimac

  5. #5
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Si j'en reste à des tableaux à 2D : est-il possible d'additionner des tableaux ?
    Oui avec 2 boucles imbriquées

Discussions similaires

  1. trier un tableau et compter des elements du tableau
    Par remi51 dans le forum Algorithmes et structures de données
    Réponses: 6
    Dernier message: 17/06/2002, 16h51
  2. Réponses: 2
    Dernier message: 27/05/2002, 19h46
  3. verification de doublons dans un tableau
    Par bohemianvirtual dans le forum C
    Réponses: 11
    Dernier message: 25/05/2002, 12h21
  4. transmision de tableau en parametre
    Par Horus dans le forum C++Builder
    Réponses: 3
    Dernier message: 16/05/2002, 11h15
  5. Réponses: 4
    Dernier message: 13/05/2002, 16h43

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