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

VBA Discussion :

Tableaux dynamiques : je comprends pas..


Sujet :

VBA

  1. #1
    Membre confirmé Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Points : 554
    Points
    554
    Par défaut Tableaux dynamiques : je comprends pas..
    Bonjour tout le monde

    Je suis débutant dans le monde de VBA, aussi, si je dis des bêtises, ne me tapez pas trop fort svp

    Donc si j'ai bien compris, quand on déclare un tableau ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim MonTableau() As String
    La taille de ce tableau est 0.
    Si je le déclare ainsi :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Dim MonTableau(1) As String
    Sa taille est 1 et son premier indice est 0, donc MonTableau(0) me renvoie une valeur, MonTableau(1) devrait me renvoyer une erreur... Je me trompe ?

    Car si je ne me trompe pas ci dessus, je ne pige pas pourquoi le code suivant fonctionne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
      Dim MonTableau() As String
      For I = 0 To 10
        ReDim Preserve MonTableau(I)
        MonTableau(I) = "coucou" + I
      Next I
    La ligne Redim semble redimensionner le tableau avec non pas la taille mais avec l'indice du dernier élément : n'est-ce pas louche ceci ?

    Il y a quelque chose qui n'est pas clair dans ma tête... Merci de m'éclairer si possible

  2. #2
    Rédacteur/Modérateur

    Avatar de Heureux-oli
    Homme Profil pro
    Contrôleur d'industrie
    Inscrit en
    Février 2006
    Messages
    21 087
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : Belgique

    Informations professionnelles :
    Activité : Contrôleur d'industrie
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 21 087
    Points : 42 926
    Points
    42 926
    Par défaut
    Salut,

    Je vais te donner un peu de lecture.

    http://silkyroad.developpez.com/vba/tableaux/

    Ce tuto est très complet.
    J'ai pas encore de décodeur, alors, postez en clair ! Comment mettre une balise de code ?
    Débutez en VBA

    Mes articles


    Dans un MP, vous pouvez me dire que je suis beau, ... mais si c'est une question technique je ne la lis pas ! Vous êtes prévenus !

  3. #3
    Membre confirmé Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Points : 554
    Points
    554
    Par défaut
    Merci beaucoup pour cette bible

    La ligne de code suivante montre comment déclarer un tableau fixe.

    Dim NomTableau(2) As String


    L'indice 2 spécifie la taille du tableau. L'indice inférieur d'un tableau peut commencer à 0 ou à 1 en fonction de la définition de l'instruction Option Base.
    La phrase en gras est vicieuse... L'indice 2, bien que spécifiant la taille du tableau, n'est pas pour autant la taille du tableau


    Encore merci

  4. #4
    Expert éminent

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 54
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Points : 9 197
    Points
    9 197
    Par défaut
    Sinon, mieux encore que les tableaux, il y a les collections !


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    Dim o as Collection
    Dim i as long
    set o = new Collection
     
    For i = 1 to 10
        o.Add i
    Next

  5. #5
    Membre confirmé Avatar de Claythest
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    558
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 558
    Points : 554
    Points
    554
    Par défaut
    Merci

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

Discussions similaires

  1. Tableaux à deux dimension : Comprend pas?!
    Par dedesite dans le forum Général Python
    Réponses: 3
    Dernier message: 27/03/2008, 14h10
  2. [Tableaux] Une erreur que je ne comprend pas
    Par bibom dans le forum Langage
    Réponses: 2
    Dernier message: 01/08/2006, 18h47
  3. Article sur les tableaux dynamiques
    Par Eric Sigoillot dans le forum Langage
    Réponses: 2
    Dernier message: 16/04/2004, 22h00
  4. [Kylix] Tableaux dynamiques sour Kylix2
    Par Krän dans le forum EDI
    Réponses: 6
    Dernier message: 07/10/2003, 14h31
  5. [Rave] un message que je ne comprends pas
    Par Clotilde dans le forum Rave
    Réponses: 2
    Dernier message: 30/09/2003, 21h46

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