Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel
Macros et VBA Excel Vos questions relatives aux macros Excel, à l'utilisation de VBA et à l'automatisation de vos classeurs Excel.
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 03/02/2010, 21h02   #1 (permalink)
Invité de passage
 
Date d'inscription: juillet 2005
Messages: 2
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 :
    
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

Dernière modification par BrunoM ; 04/02/2010 à 12h17.
BrunoM est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/02/2010, 08h51   #2 (permalink)
Membre émérite
 
Avatar de Daranc
 
Date d'inscription: janvier 2007
Localisation: nantua
Messages: 799
Par défaut

ceci n'est pas compri par vba
Citation:
Sub Test_V02()

Code :
Feuil1.Range(Feuil1.cells(1, 1), Feuil1.cells(2,3) = Tableau
End Sub
quant au tableau il n'as pas de sens
Code :
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
__________________
Cordialement
Daranc
Daranc est actuellement connecté   Envoyer un message privé Réponse avec citation
Vieux 04/02/2010, 12h15   #3 (permalink)
Invité de passage
 
Date d'inscription: juillet 2005
Messages: 2
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.
BrunoM est déconnecté   Envoyer un message privé Réponse avec citation
Vieux 04/02/2010, 15h28   #4 (permalink)
Membre émérite
 
Avatar de Daranc
 
Date d'inscription: janvier 2007
Localisation: nantua
Messages: 799
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
__________________
Cordialement
Daranc
Daranc est actuellement connecté   Envoyer un message privé Réponse avec citation
NEWS EXCELF.A.Q EXCELTUTORIELS EXCELSOURCES EXCELOUTILS EXCELLIVRES EXCELOFFICE 2010

Réponse Proposer ce sujet en actualité

Précédent   Forum des professionnels en informatique > Logiciels > Microsoft Office > Excel > Macros et VBA Excel



Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are non
Pingbacks are non
Refbacks are non



Fuseau horaire GMT +1. Il est actuellement 09h05.


Vos questions techniques : forum d'entraide Excel - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Hébergement - Participez - Copyright © 2000-2010 www.developpez.com - Legal informations.