Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 29/10/2011, 16h17   #1
Invité de passage
 
Inscription : octobre 2007
Messages : 13
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 13
Points : 4
Points : 4
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 :
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
Ellimac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 29/10/2011, 21h28   #2
Membre du Club
 
Inscription : mars 2007
Messages : 33
Détails du profil
Informations personnelles :
Âge : 58
Localisation : France, Gironde (Aquitaine)

Informations forums :
Inscription : mars 2007
Messages : 33
Points : 47
Points : 47
Citation:
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 :
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
Patrice740 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 30/10/2011, 10h23   #3
Rédacteur
 
Avatar de Ormonth
 
Homme Didier GONARD
Formateur Développeur Office - indépendant
Inscription : février 2008
Messages : 2 353
Détails du profil
Informations personnelles :
Nom : Homme Didier GONARD
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations professionnelles :
Activité : Formateur Développeur Office - indépendant

Informations forums :
Inscription : février 2008
Messages : 2 353
Points : 4 685
Points : 4 685
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
__________________
Didier Gonard

Ps :
Pour noter positivement ou négativement un post, vous pouvez cliquer sur les pouces en bas à droite !
Tutoriels : Voir la liste de mes tutoriels et mon site pro sur ma Page DVP
N'oubliez pas de mettre : ..quand c'est le cas !
Ormonth est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 04/11/2011, 17h54   #4
Invité de passage
 
Inscription : octobre 2007
Messages : 13
Détails du profil
Informations forums :
Inscription : octobre 2007
Messages : 13
Points : 4
Points : 4
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
Ellimac est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/11/2011, 19h13   #5
Expert Confirmé Sénior
 
Avatar de mercatog
 
Inscription : juillet 2008
Messages : 5 848
Détails du profil
Informations forums :
Inscription : juillet 2008
Messages : 5 848
Points : 13 907
Points : 13 907
Citation:
Si j'en reste à des tableaux à 2D : est-il possible d'additionner des tableaux ?
Oui avec 2 boucles imbriquées
__________________
Cordialement.
mercatog est déconnecté   Envoyer un message privé Réponse avec citation 10
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 09h53.


 
 
 
 
Partenaires

Hébergement Web