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 :

Manipulation variable tableau 3 dimensions [XL-2010]


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Apprenti GEII
    Inscrit en
    Janvier 2014
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Apprenti GEII
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2014
    Messages : 83
    Par défaut Manipulation variable tableau 3 dimensions
    Bonjour,

    J'ai une variable tableau à 3 dimensions dans laquelle je fais pas mal de traitements.

    Prenons la taille Tab(5,10,100) pour l'exemple:
    1ère dimension: nombre de feuilles de calcul
    2ème : Nombre de colonnes
    3ème : Nombre de lignes

    Pour visualiser c'est comme si ce tableau était 5 grilles de 10 * 100 superposées
    (J'ai pris le Nombre de lignes en dernière dimension car seule la dernière dimension est redimensionnable)

    A la fin de mon code je veux transfèrer dans mes 5 feuilles les données du tableau correspondantes.
    Au lieu de boucler sur les éléments du tableau et faire du "point à point" je voudrais savoir si il est possible avec un tableau à 3 dimensions de dire en VBA:

    "Je veux que dans ma feuille 1 dans ma plage allant de Cell(1,1) à Cell(10,100) apparaisse ma grille 10*100 à l'étage 1 de mon tableau"
    ...De la même manière qu'avec un tableau à 2 dimensions!

    Je n'ai trouvé nulle part, ni même réussi à deviner
    Utiliser .Index? Ubound()?
    Est-ce possible? Ou dois-je me contenter d'une boucle?

    Celui qui trouve, aura un sandwich (à la fraise)

    Merci de votre considèration, et bonne journée

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    je sais pas si je me fourvoie ou pas comme je ne sais pas comment ton tableau es constitué!
    d’abord il es possible de de connaitre le Ubound d'un sous dimension!
    ubound(Tab,1) retourne la taille du premier niveau; ubound(Tab,2) retourne la taille du deuxième niveau; ubound(Tab,3) retourne la taille du troisième ect...;

    ensuite tu peux affecter a un plage de cellule un tableau
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     sheets(1).range("A2:C10")=Tab(0)
    sheets(2).range("A2:C10")=Tab(1)

  3. #3
    Membre Expert
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2009
    Messages : 652
    Par défaut
    J'ai une variable tableau à 3 dimensions dans laquelle je fais pas mal de traitements.

    Prenons la taille Tab(5,10,100) pour l'exemple:
    1ère dimension: nombre de feuilles de calcul
    2ème : Nombre de colonnes
    3ème : Nombre de lignes
    Bonjour,

    Je ne ferais pas comme cela.
    Je passerai par un type défini comme par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Type strucData
      NomFeuille As String
      SourceData As Variant
    End Type
    et je déclarerai une variable tableau dynamique de ce type
    Dim mesData() As strucData
    On pourrait renseigner les sources d'un seul coup et alimenter les destinations de la même manière.

    Si cela vous convient, je peux construire un exemple. Dites le moi.

  4. #4
    Invité
    Invité(e)
    Par défaut
    Bonjour PMO2017,
    tout dépend comment est constitué son tableau et ou il en est de sont développement, car mois je passerait par une collection de classe!

    la feuille est mise à jour automatiquement des lors qui rempli son tableau.

  5. #5
    Membre confirmé
    Homme Profil pro
    Apprenti GEII
    Inscrit en
    Janvier 2014
    Messages
    83
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Apprenti GEII
    Secteur : Transports

    Informations forums :
    Inscription : Janvier 2014
    Messages : 83
    Par défaut
    Merci pour vos réponses!

    rdurupt : Je ne m'en sors pas avec ces méthodes que j'ai essayé à plusieurs sauces...

    PMO2017 : Je ne connais pas les Types... j'ai trouvé ce tuto: http://fauconnier.developpez.com/art...neral/classes/

    Je l'étudie et je reviens vers vous!

  6. #6
    Invité
    Invité(e)
    Par défaut
    dis nous au moins comment tu génère ton tableau!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Quelle classe pour manipuler un tableau à n dimensions
    Par philippe6 dans le forum Collection et Stream
    Réponses: 10
    Dernier message: 30/12/2010, 16h13
  2. [PHP 5.2] creer tableau à 2 dimensions avec 3 variables.
    Par ju0123456789 dans le forum Langage
    Réponses: 4
    Dernier message: 13/05/2009, 13h17
  3. variable tableau 2 dimensions et redim preserve
    Par dawood dans le forum Macros et VBA Excel
    Réponses: 13
    Dernier message: 03/01/2009, 15h11
  4. Réponses: 11
    Dernier message: 11/06/2008, 18h05
  5. [débutant] un tableau de dimension variable selon l'objet qui le contient
    Par Epistocles dans le forum Collection et Stream
    Réponses: 5
    Dernier message: 09/01/2007, 18h07

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