Créer un tableau dont le type de variable varie

Y compris Power BI, Power Query et toute autre question en lien avec Excel
Avatar du membre
KillChief
Jeune membre
Jeune membre
Messages : 18
Inscrit le : 30 octobre 2014
Version d'Excel : 2010 Fr

Message par KillChief » 9 novembre 2014, 18:32

Bonjour à tous,

Quand on crée un tableau, toutes les variables contenues dans le tableau ont le même type, par exemple

Dim Tableau(5,5) as Integer
On peut palier le problème en mettant

Dim Tableau(5,5) as Variant
Mais ça ralentit l’exécution du programme.

En fait ce que je souhaiterai c'est que par exemple toute la colonne 0 soit de type Integer, puis la 1 as String, la suivante as Long ...

Je ne sais pas si c'est possible !

Merci !

Romain.
f
frangy
Passionné d'Excel
Passionné d'Excel
Messages : 4'342
Appréciation reçue : 1
Inscrit le : 19 novembre 2012
Version d'Excel : 2007 FR

Message par frangy » 9 novembre 2014, 18:49

Bonjour,

Oui c'est possible, il suffit d'utiliser le type variant :wink:

A+
Avatar du membre
KillChief
Jeune membre
Jeune membre
Messages : 18
Inscrit le : 30 octobre 2014
Version d'Excel : 2010 Fr

Message par KillChief » 9 novembre 2014, 18:59

Salut,

Merci pour ta réponse mais le problème c'est que cela ralentit le temps d’exécution du programme (j'ai beaucoup de données à traiter)
f
frangy
Passionné d'Excel
Passionné d'Excel
Messages : 4'342
Appréciation reçue : 1
Inscrit le : 19 novembre 2012
Version d'Excel : 2007 FR

Message par frangy » 9 novembre 2014, 19:17

Je t'ai bien compris mais je ne vois pas comment tu pourrais créer un tableau avec des éléments variant et le déclarer autrement.
Si la structure des données le permet, tu peux éventuellement utiliser plusieurs tableaux.

A+
Avatar du membre
KillChief
Jeune membre
Jeune membre
Messages : 18
Inscrit le : 30 octobre 2014
Version d'Excel : 2010 Fr

Message par KillChief » 9 novembre 2014, 22:33

Bon du coup j'ai eu une autre idée :
Au début je crée un type de variable
Type mon_type
Nom as String
Annee as Integer
End Type
Et ensuite j'aimerai faire un truc de ce style :
For i = 1 to 5
Dim truc(i) as mon_type
Next
Ainsi après j'aurai 5 trucs de type mon_type.

Malheureusement cette formule (avec les parenthèses) semble être réservée pour les tableaux à une dimension. J'ai bien essayer en essayant de concaténer mais ça ne marche pas mieux !
Répondre Sujet précédentSujet suivant
  • Sujets similaires
    Réponses
    Vues
    Dernier message