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
Invité de passage
 
Inscription : juillet 2005
Messages : 2
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 2
Points : 0
Points : 0
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 :
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

Dernière modification par BrunoM ; 04/02/2010 à 12h17.
BrunoM est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2010, 08h51   #2
Membre Expert
 
Avatar de Daranc
 
Inscription : janvier 2007
Messages : 1 015
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 1 015
Points : 1 060
Points : 1 060
ceci n'est pas compri par vba
Citation:
Code :
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 :
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
__________________
Cordialement
Daranc

Dernière modification par AlainTech ; 23/04/2010 à 19h04. Motif: Correction balises
Daranc est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 04/02/2010, 12h15   #3
Invité de passage
 
Inscription : juillet 2005
Messages : 2
Détails du profil
Informations forums :
Inscription : juillet 2005
Messages : 2
Points : 0
Points : 0
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 00
Vieux 04/02/2010, 15h28   #4
Membre Expert
 
Avatar de Daranc
 
Inscription : janvier 2007
Messages : 1 015
Détails du profil
Informations forums :
Inscription : janvier 2007
Messages : 1 015
Points : 1 060
Points : 1 060
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 déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 20h25.


 
 
 
 
Partenaires

Hébergement Web