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 :

Modifier un tableau dynamique


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 32
    Par défaut Modifier un tableau dynamique
    Bonjour,

    J'ai un souci avec une matrice qui a 2 colonnes et X lignes, a cause de Preserve. En effet je voudrais lui ajouter une ligne mais Preserve ne me permet de modifier que la 2e dimension.
    J'ai vu quelques problemes semblables sur le forum mais je n'arrive pas a comprendre le code qui a ete donne pour resoudre le ptit souci.
    Voila mon code, j'appelle la procedure chaque fois que je dois modifier la matrice.

    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
    18
    19
    Sub actualizar_listing()
     
         Dim listing() as Variant
         Dim nb_lineas, i, j as Integer
         'nb_lineas = nb de lignes du listing
     
         nb_lineas = nb_lineas + 1
         ActiveSheet.Range("B10").Value = nb_lineas
     
         ReDim Preserve Listing(1 To nb_lineas, 1 to 6)
     
         Listing(nb_lineas,1) = tipo_salida
         Listing(nb_lineas,2) = Cant_entrada.Art.List(0, 0)
         Listing(nb_lineas,3) = Cant_entrada.Art.List(0, 5)
         Listing(nb_lineas,4) = Cant_entrada.Art.List(0, 6)
         Listing(nb_lineas,5) = Cant_entrada.Art.List(0, 7)
         Listing(nb_lineas,6) = Cant_entrada.Art.List(0, 4)
     
    End Sub
    Ouskel'n'or avait donne un code qui me semble-t-il avait resolu un probleme similaire mais....... JE NE LE COMPRENDS PAAAAAAAAAAS !!!!!!!!!!!!!!!!! (c'est peut-etre parce que c'est le matin) voila ce que c'etait :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    Dim Tableau1()
    Dim Tableau2()
    'Gnagna...
    i = i + 1
    Redim Preserve Tableau1(i)
    j = j + 1
    Redim Preserve Tableau2(j)
    'Gnagna
    'Gnagna...
    Tableau2(j) = "Une donnée"
    Tableau1(i) = Tableau2
     
    'Pour retrouver ta donnée :
    msgbox Tableau1(i)(1) '=> "Une donnée"
    Voila si quelqu'un pourrait m'eclairer un peu en m'expliquant ca en l'adaptant a mon probleme... Ce serait super.
    Merci beaucoup de votre aide
    Carole

  2. #2
    Membre averti
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 32
    Par défaut
    Alors voila ou j'en suis :

    J'ai trouve une solution pour resoudre mon probleme, mais sans resoudre la question qui me tourne dans la tete depuis hier soir : comment redimensionner ma matrice au niveau des lignes sans toucher a son contenu ???? Du coup pour des questions de culture generale je ne clique pas tout de suite sur RESOLU pour voir si quelqu'un sait comment le faire.
    J'ai penser a la transposer (la matrice), modifier le nb de colonnes, puis la retransposer et on la retrouve ds le bon sens avec le nouveau nb de lignes. Oui je sais c'est ingenieux. Mais je ne sais pas comment le faire.

    A vos claviers j'attends vos reponses. Concours ouvert jusqu'a 11h30.
    A+
    Carole

  3. #3
    Inactif  
    Avatar de ouskel'n'or
    Profil pro
    Inscrit en
    Février 2005
    Messages
    12 464
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 12 464
    Par défaut
    Bon, par mp je t'ai répondu un peu vite... bref, je t'ai dit une c...rie.
    Tu ne peux pas redimensionner la seconde dimension de ton tableau. Par contre tu peux inverser les indices et redimensionner la 1ère dimension.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
         ReDim Preserve Listing(6,  nb_lineas)
    Ton code sera à modifier en conséquence.
    A+

  4. #4
    Membre averti
    Étudiant
    Inscrit en
    Juillet 2007
    Messages
    32
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2007
    Messages : 32
    Par défaut
    OK donc en fait ca ca fait tout simplement ce que je voulais c'est a dire transposer la matrice non ??? Je teste tout de suite.
    Merci !
    Carole

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

Discussions similaires

  1. Réponses: 5
    Dernier message: 13/06/2018, 19h33
  2. Modifier le contenu d'une cellule d'un tableau dynamiquement
    Par SPACHFR dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 25/08/2009, 16h45
  3. Modifier couleur de fond d'une cellule d'un tableau dynamiquement.
    Par fred61 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 27/03/2009, 02h19
  4. Réponses: 6
    Dernier message: 16/01/2006, 13h29
  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