Passage de type Variant à String ou Integer

cs_Sweet_7694 Messages postés 54 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 13 janvier 2006 - 18 août 2005 à 12:42
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 - 18 août 2005 à 14:40
Bonjour,
Je sais que les variant ne sont pas à utiliser mais je ne peut pas faire autrement, alors voila mon problème :
Je souhaite passer une variable de type variant en type string ou integer.

Merci aux âmes généreuses qui me répondront.

8 réponses

cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
18 août 2005 à 12:55
Salut,
dim v as variant
v="" 'devient string
v=1 'devient integer

ou alors j'ai mal compris ta question ?

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
18 août 2005 à 12:56
comment ?

à partie du moment où tu met une chaîne dedans elle passe en String

l'avantage c'est qu'on peut changer de type en cours de route



Dim var As Variant

var = "1234"

MsgBox VarType(var) --> String

var = 1234

MsgBox VarType(var) --> Integer


Daniel
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
18 août 2005 à 12:56
D'autre part, pourquoi ne peux tu pas faire autrement , explique.

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
cs_Sweet_7694 Messages postés 54 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 13 janvier 2006
18 août 2005 à 13:03
Alors:

Je récupère cette variable d'une base donc ce n'est pas moi qui rentre le type.
Je viens d'essayer : MsgBox VarType(var) et ca m'a renvoyé : 8200.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
18 août 2005 à 13:07
ça c'est un Variant qui contient un tableau de String

Daniel
0
cs_Sweet_7694 Messages postés 54 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 13 janvier 2006
18 août 2005 à 13:11
ok merci
je crois que ca va être bon là.

Merci bien pour l'aide.
0
cs_CanisLupus Messages postés 3757 Date d'inscription mardi 23 septembre 2003 Statut Membre Dernière intervention 13 mars 2006 20
18 août 2005 à 14:35
Au passage, si tu n'as pas l'aide de vb, voici le tableau de correspondances :


Constante
,
Valeur
,
Description
,
----

vbEmpty
,
0
,
Non initialisé (par défaut)
,
----

vbNull
,
1
,
Ne contient pas de données valides
,
----

vbInteger
,
2
,
Sous-type Integer
,
----

vbLong
,
3
,
Sous-type Long
,
----

vbSingle
,
4
,
Sous-type Single
,
----

vbDouble
,
5
,
Sous-type Double
,
----

vbCurrency
,
6
,
Sous-type Currency
,
----

vbDate
,
7
,
Sous-type Date
,
----

vbString
,
8
,
Sous-type String
,
----

vbObject
,
9
,
Objet
,
----

vbError
,
10
,
Sous-type Error
,
----

vbBoolean
,
11
,
Sous-type Boolean
,
----

vbVariant
,
12
,
Variant (utilisé uniquement pour les tableaux de données de type Variant)
,
----

vbDataObject
,
13
,
Objet d'accès aux données
,
----

vbDecimal
,
14
,
Sous-type Decimal
,
----

vbByte
,
17
,
Sous-type Byte
,
----

vbArray
,
8192
,
Tableau.

Donc, si vartype te retourne 8200, Daniel a raison et ça se voit comme ça :

8200 = 8192 + 8 donc tableau (8192) de string (8).

-------------------------------------------------
Dresseur de puces, .... normal pour un loup !?
0
Gobillot Messages postés 3140 Date d'inscription vendredi 14 mai 2004 Statut Membre Dernière intervention 11 mars 2019 34
18 août 2005 à 14:40
et à partir de 8192 tu retrouves les mêmes types pour les Tableaux



tableau d'Integer = 8192 + 2 -- > 8194

tableau de Bytes = 8192 + 17 --> 8209

Daniel
0
Rejoignez-nous