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 :

Tableau en VBA [XL-2003]


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
    Octobre 2007
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France, Gard (Languedoc Roussillon)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 16
    Par défaut Tableau en VBA
    Bonjour le forum,

    J'ai le code suivant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Type t_Datas_General
      ID As Long
      Matricule As String * 5
      Annee As String * 4
      PtReal(366) As String * 40
    End Type
     
    Dim DataGeneral As t_Datas_General
    Je voudrais remplir le tableau DataGeneral.PtReal avec une plage de cellules mais sans avoir recours à une boucle.

    Du style DataGeneral.PtReal = range("a1:a366")

    Je bute lamentablement sur ce problème....

    Merci à tous...

  2. #2
    Membre éclairé
    Profil pro
    chomeur
    Inscrit en
    Août 2006
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Août 2006
    Messages : 343
    Par défaut
    salut,
    c'est me semble t il impossible. Il faut que ptReal soit en variant.
    Tu seras donc loin de ta définition a savoir un tableau de 366 lignes et donc chaque élément a 40 caractères...

  3. #3
    Membre confirmé
    Inscrit en
    Janvier 2004
    Messages
    173
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 173
    Par défaut
    Je ne comprend pas ton code, mais en rajoutant un .value, ça ne fonctionnerait pas par hasard ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DataGeneral.PtReal = range("a1:a366").VALUE
    Juste une supposition...

  4. #4
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Salut,

    Pour les tableaux, il y a un tuto : http://silkyroad.developpez.com/vba/tableaux/
    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 !

  5. #5
    Membre éclairé
    Profil pro
    chomeur
    Inscrit en
    Août 2006
    Messages
    343
    Détails du profil
    Informations personnelles :
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : chomeur

    Informations forums :
    Inscription : Août 2006
    Messages : 343
    Par défaut
    Salut SkillRoad, je n'arrive pas a ouvrir ton lien..
    Sinon je confirme que pour faire un get dans Excel (j'ai fait un truc très bourrin : myTab= rgMonRange.value), il faut que myTab soit obligatoirement en Variant

  6. #6
    Rédacteur/Modérateur

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

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

    Informations forums :
    Inscription : Février 2006
    Messages : 21 086
    Par défaut
    Salut,

    Je ne suis pas SilkyRoad.

    Par contre, le lien fonctionne bien chez moi.
    Mais on retrouve le lien sur la page Cours
    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 !

  7. #7
    Membre émérite

    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Ardèche (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2006
    Messages : 652
    Par défaut
    Bonjour,

    lorsqu'on écrit par exemple
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tablo = Range("A1:A20").Value
    tablo est du type 1 to 20, 1 to 1
    que l'on voit en installant tablo en espion

    donc la déclaration
    est fausse

    pour ma part j'utiliserais la boucle mais...

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

Discussions similaires

  1. Ecrire après un tableau en vba
    Par asphalte01 dans le forum VBA Word
    Réponses: 4
    Dernier message: 04/03/2009, 12h46
  2. Gestion de tableau en VBA
    Par lilian65 dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 11/02/2009, 17h37
  3. traiter un tableau en vba
    Par jrege75 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/01/2009, 21h48
  4. tableau en VBA
    Par Daranc dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 23/09/2008, 10h22
  5. [VBA-E] Comment créer un tableau sous vba excel
    Par jeanpierreco dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 27/01/2007, 09h52

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