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 :

Définition de variables


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2007
    Messages : 33
    Par défaut Définition de variables
    Bonjour,

    j'aimerais créer un ensemble de variables indentées correspondant à des listes.

    Pour être plus clair je voudrais créer des variables A1, A2, ... avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    dim A1()
    dim A2()
    ...
    et pouvoir utiliser ensuite des boucles en utilisant de la concaténation pour pouvoir appeler chacune de mes variables de la même façon (du type A.i ou A&i ou ...)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    for i=1 to 30
    redim preserve A_i (ubound(A_i)+1)
    A_i(ubound(A_i))="boo"
    next
    mais je sais pas trop comment faire ...

  2. #2
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    Bonjour,

    Tu ne peux te référer à une variable en utilisant une chaine de caractères.

    VB ne garde pas en mémoire interne la chaîne de caractères correspondant à une variable, mais une adresse-mémoire (et tu n'auras jamais accès, par une chaîne de caractères, à cette adresse mémoire).

    Tu vas vite comprendre : rien n'interdit, sous VB, d'attribuer un nom identique pour deux (ou plus) variables différentes, placées dans des procédures distinctes. Prenons alors l'exemple d'une variable toto dans la procédure proc1 et d'une vraiable toto dans la procédure proc2. A laquelle des deux pourrait bien se référer une variable que tu chercherais à pointer à l'aide de la chaîne de caractères "toto" ?

    Il te faudrait, pour y parvenir, constituer ta propre collection de correspondances, ce qui rendrait ton application assez lourde ...

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2007
    Messages : 33
    Par défaut
    çà veut dire que je ne peux pas ??

    et si je définissais les variables Ai au sein d'un tableau ?

    du style

    et chacune des varialbles Ai correspondrait à une cellule du tableau A
    je pourrais y faire référence en utilisant
    j'ai essayé mais j'ai des problèmes après utiliser les A(i) eux-mêmes commes des listes en utilisant dim et redim par ex ou pour faire référence aux éléments des A(i) : A(i)(1), A(i)(2) ???

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    33
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Novembre 2007
    Messages : 33
    Par défaut
    çà revient à poser la question : peut-on faire des tableaux de tableaux ???

  5. #5
    Inactif  

    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    4 555
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 4 555
    Par défaut
    cela "revient" surtout à deux seuls mots :

    - collection
    - lourdeur ajoutée

    Tu fais ensuite comme tu l'entends.

    La réflexion est depuis longtemps terminée, en ce qui me concerne, dans ce domaine, mais rien ne t'interdit de tenter, comme tu l'entends, d'aller plus loin...

    Edit : si, nonobstant mon invite clarement faite à abandonner un tel cheminement, tu veux faire des "randonnées" : intéresse-toi alors au mot réservé VarPtr de VB (il est bel et bien présent, quoique non exposé)...

    Bonne chance dans cet exercice et cette randonnée, ami...

  6. #6
    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
    Les tableaux de tableaux... si un exemple peut t'inspirer, test ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub test1()
    Dim Montab, valeur1, valeur2, valeur3
    valeur1 = Array(6, 7, 8, 9, 10)
    valeur2 = Array("un", "deux", "trois", "quatre", "cinq")
    valeur3 = Array(11, 12, 13, 14, 15)
    Montab = Array(valeur1, valeur2, valeur3)
    MsgBox Montab(1)(4)
    Pour mieux comprendre, teste ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Sub test2()
    Dim Montab, valeur1, valeur2, valeur3
    valeur1 = Array(0, 1, 2, 3, 4)
    valeur2 = Array(1, 2, 3, 4, 5)
    valeur3 = Array("un", "deux", "trois", "quatre", "cinq")
    Montab = Array(valeur1, valeur2, valeur3)
    MsgBox Montab(1)(3)
    End Sub
    Les tableaux commencent sur l'indice 0

Discussions similaires

  1. définition des variables
    Par ValWatt dans le forum C#
    Réponses: 7
    Dernier message: 20/07/2007, 09h21
  2. Définition des variable dans un fichier.m d'une interface graphique
    Par developpeur82 dans le forum Interfaces Graphiques
    Réponses: 1
    Dernier message: 10/05/2007, 14h53
  3. définition de variables statiques
    Par kenny49 dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 12/04/2007, 17h43
  4. [Tableaux] Erreur de définition de variable
    Par lifeisgood dans le forum Langage
    Réponses: 1
    Dernier message: 26/10/2006, 19h59
  5. [Système] Problème de définition des variables
    Par SLAM JACK dans le forum Langage
    Réponses: 6
    Dernier message: 29/03/2006, 19h53

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