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 :

Transférer vers une feuille un tableau défini avec un type particulier


Sujet :

Macros et VBA Excel

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 8
    Points : 5
    Points
    5
    Par défaut Transférer vers une feuille un tableau défini avec un type particulier
    Bonsoir à tous,

    Je voudrais transférer vers une feuille un tableau défini avec un type de donnée utilisateur ; voici un exemple de code

    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
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
     
    Option Explicit
    Option Base 1
     
    Type voiture
        Couleur As String
        Cylindree As Long
        anneeAchat As Date
    End Type
     
    Sub Test_V02()
     
        Dim Tableau(2) As Voiture
     
        'Remplissage de 1ere ligne Tableau
        Tableau(1).Couleur = "Rouge"
        Tableau(1).Cylindree = 2000
        Tableau(1).anneeAchat = #4/21/2004#
     
        'Remplissage de 2nde ligne Tableau
        Tableau(2).Couleur = "vert"
        Tableau(2).anneeAchat = 2000
        Tableau(2).Cylindree = #5/13/2001#
     
     With Sheets("Feuil1")
     .Range(.Cells(1, 1), .Cells(2, 3)).Value = Tableau
     
    End With
     
    End Sub


    Le problème est que dans ce cas l'instruction de transfert est interdite.
    Est-ce que ce type de transfert est possible et comment ?

    Par avance merci pour votre aide,

    Bruno

  2. #2
    Membre émérite

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Points : 2 523
    Points
    2 523
    Billets dans le blog
    1
    Par défaut
    ceci n'est pas compri par vba
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Sub Test_V02()
     
    Feuil1.Range(Feuil1.cells(1, 1), Feuil1.cells(2,3) = Tableau
     
    End Sub
    quant au tableau il n'as pas de sens
    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
    Sub Test_V02()
        Dim Tableau(1, 2) As String
     
        'Remplissage de 1ere ligne Tableau
        Tableau(0, 0) = "Rouge"
        Tableau(0, 1) = 2000
        Tableau(0, 2) = #4/21/2004#
     
        'Remplissage de 2nde ligne Tableau
        Tableau(1, 0) = "vert"
        Tableau(1, 1) = 2000
        Tableau(1, 2) = #5/13/2001#
     With Sheets(1)
     .Range(.Cells(1, 1), .Cells(2, 3)).Value = Tableau
     
    End With
    End Sub

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 8
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Daranc Voir le message
    ceci n'est pas compri par vba

    quant au tableau il n'as pas de sens
    Bonjour,
    Effectivement, hier j'ai écrit ce code sans vérifier. Je viens de le corriger dans mon message initial. Le tableau est maintenant cohérent.

    La compilation bloque au niveau du passage des valeurs du tableau vers la feuille ; VBA renvoie le message d'erreur suivant :
    "Seuls les types définis par l'utilisateur et qui sont définis dans les modules d'objet public peuvent être convertis depuis ou vers un variant, ou passés à des fonctions à liaison tardive."

    Je voudrais bien savoir si je peux quand même utiliser ce type de tableau et comment, pour le transférer (sans loop) vers une feuille XL.

    Encore merci pour votre aide.

  4. #4
    Membre émérite

    Homme Profil pro
    Technicien Métrologie R&D
    Inscrit en
    Janvier 2007
    Messages
    1 610
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Ain (Rhône Alpes)

    Informations professionnelles :
    Activité : Technicien Métrologie R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 610
    Points : 2 523
    Points
    2 523
    Billets dans le blog
    1
    Par défaut
    là il faut aller sur les tutos pour regarder les définitions de variqbles (perso je n'y ai jamais eu recours )

    l'aide en ligne d'excel doit être sur Property Set, instruction

Discussions similaires

  1. Transférer des données d'un formulaire vers une feuille de données
    Par kirsie dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 09/04/2013, 20h45
  2. [XL-2010] Pb avec déplacer un graph vers une feuille
    Par seb360 dans le forum Macros et VBA Excel
    Réponses: 0
    Dernier message: 23/07/2012, 11h40
  3. comment transferer une tableau VBA vers une feuille de calcul
    Par Bonero dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 16/01/2010, 17h30
  4. Réponses: 10
    Dernier message: 22/07/2008, 13h30
  5. [VBA] exportation vers une feuille précise d'un fichier xls
    Par Christophe93250 dans le forum Access
    Réponses: 2
    Dernier message: 10/01/2006, 15h36

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