[VBA] Récupération variable pour créer tablo

Résolu
Bonjour, ma question est:
Récupérer la valeur d'une variable dans une feuille excel dans le but de créer un tableau avec un nombre de colonne correspondant à la variable:

Variable:
Nbre_colonne_tableau

dans [vba]:

Dim Tbl(Nbre_colonne_tableau;1 To 4)

Merci de vos réponses...
Configuration: Windows XP
Internet Explorer 6.0

6 réponses

  1. Contributeur
    bonjour,
    quand est-ce que la variable Nbre_colonne_tableau est initialisée !!

    ta déclaration devrait être..

    dans [vba]:

    Dim Tbl()
    dim Nbre_colonne_tableau as integer

    Après que la variable Nbre_colonne_tableau a été initialisée
    dans la Sub qui l'emploi mettre
    Sub(XX)
    redim Tbl(Nbre_colonne_tableau;1 To 4)
    ..
    ..
    End sub
    ou fonction.
    '-----------------------------------
    Solution 2
    const Nbre_colonne_tableau =xx (le nombre de colonne)
    dim Tbl(Nbre_colonne_tableau;1 To 4)

    A+
    louis
    0
    1. Salut,

      d'abord, ne pas oublier que le premier paramètre correspond au nombre de lignes de ton tableau, alors soit ta variable porte un nom peu approprié, soit il faut la mettre en deuxième paramètre.

      Ensuite, il est préférable de définir un type de données pour ton tableau, par exemple, si celui-ci contient des entiers, tu peux mettre:

      Dim Tbl(3; Nbre_colonne_tableau - 1) As Integer

      Tu obtiendras donc un tableau de 4 lignes, Nbre_colonne_tableau colonnes, et contenant des entiers...
      0
      1. D'après ton post voila ce que j'ai tapé:

        Sheets("TEST").Select
        Range("B1").Select

        Dim Tbl(3, Nbr_ajout_colonne) As Integer

        Qaund je test ça me donne une erreur: erreur de compilation constante requise et Nbr_ajout_colonne est en surligné !!!

        cela signifie que Nbr_ajout_colonne n'est pas initialisé ???
        si oui , comment l'initialisé ?

        Merci de votre patience a tous !!!
        (vive les boulet en VBa)!
        0
      2. @Dog killerNon, le problème c'est qu'il n'est apparement pas possible de mettre une variable dans la définition d'un tableau, donc je pense que le mieux dans ton cas c'est simplement de le définir dynamiquement en mettant simplement Dim Tbl() As Integer et ensuite si tu veux faire varier sa taille dans une procédure, éventuellement en conservant son contenu intact, tu pourras utiliser des instructions du type:

        ReDim Preserve Tbl(UBound(Tbl) + 1)

        Bon courage !
        0
      3. @xjlJe vais essayer de faire comme tu dis !!!
        Merci baucoup !!!!!
        bonne continuation !

        Ps: je cloture le post
        0
      4. @Dog killerRe: Je n'ai finalement pas réeussi xjl désolé !!!!

        Je crois que je vais reformuler ma demande plus précisement :

        Je souhaite créer un tableau (avec contour a chaque cellule) avec 4 lignes et X colonnes où X est une variable que je récupère dans une cellule d'une autre feuille du classeur.

        0
    2. re:
      je ne sais pas ce qu'est initialisé ???
      merci en tout cas je vais essayer tout de suite vos solution!
      Au plaisir!
      0
      1. Bonjour,
        ben non ça ne marche pas ; avec la solution de xjl je n'est pas de message d'erreur dans VBA mais quand j'exécute la macro je n'obtien qu'un déplacement dans une autre cellule sans création de mon tableau !!!!

        Aidez moi !!! snif!

        Merci :)
        0
        1. Sauf que tu n'as jamais demandé à ce qu'il t'affiche un tableau, t'as demandé à ce qu'il te le crée, donc le tableau existe virtuellement, mais il n'est visible nulle part !!
          0
        2. @xjllol :) grossière erreur de ma part !!!! je suis désolé !!!
          donc il y a une fonction différente pour faire achicher le tableau ?
          Merci
          0
        3. @Dog killerEn fait ce que tu veux c'est simplement que la macro t'affiche des bordures et éventuellement te remplisse les cellules à l'intérieur avec des données qu'elle irait chercher ailleurs si j'ai bien compris, ça n'a donc rien à voir avec la création de ce qui est appellé tableau de données ou de variables dans vba... Cherches plutôt dans ce sens là, je ne crois pas pouvoir t'aider beaucoup plus...
          0
        4. @Dog killerSi ça peut t'aider...

          Sub tableau()

          With Sheets(Sheets.Count).Range("A1:E10").Borders
          .Color = 50
          .LineStyle = xlSolid
          .Weight = xlThin
          End With
          Sheets(Sheets.Count).Range("A1:E10").BorderAround ColorIndex:=3, Weight:=xlThick, LineStyle:=xlSolid

          End Sub
          0