Type"Variant"

Signaler
Messages postés
87
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
15 décembre 2010
-
Messages postés
87
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
15 décembre 2010
-
slt tt le monde,

je développe en vba excel,j'ai une variable de type "variant" qui prend soit un string soit une référence cellule(Range) selon ce que l'utilisateur a saisi,je voulais savoir est ce possible de tester sur le type de cette variable pour effectuer des traitement selon ce que l'utilisateur a saisi(soit string,soit Range)???


Merci d'avance

7 réponses

Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
116
Salut,

Essaye ainsi :
If taVariable Is Range Then
'c'est un range
ElseIf taVariable Is String Then
'c'est un String
End If


C'est pas une très bonne idée d'utiliser un Variant : non seulement c'est beaucoup plus lent qu'une variable typée normalement, mais en plus, comme tu peux le voir : elle accepte tout comme type, donc il faut que tu vérifie avant de l'utiliser...

______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Messages postés
87
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
15 décembre 2010

Merci pr ta réponse,

j'ai essayé ca mais ca ne marche pas

If textbox.text Is Range Then
'c'est un range
ElseIf textbox.text Is String Then
'c'est un String
End If

dans le textbox soit l'utilisateur a la possiblité de saisir uen valeur a la main ou de récupérer la référence d'une cellule grace a un bouton toujours dans le mm textbox

est ce que c'est juste ce que j'ai essayé de faire

Merci encore une fois.
Messages postés
14772
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
6 mars 2021
151
Bonjour,

Petite correction :
If TypeOf taVariable Is Range Then
'c'est un range
ElseIf TypeOf  taVariable Is String Then
'c'est un String
End If


Il manquait les TypeOf

Sinon Is test sir les références sont les mêmes.

Mon site
Messages postés
15814
Date d'inscription
jeudi 8 août 2002
Statut
Modérateur
Dernière intervention
4 mars 2013
116
Salut,

Là c'est différent : ce n'est pas une variable mets du texte dans un textbox : un textbox contient forcément un String.

Tu devrais plutôt tester si le texte récupérer est un index de cellule ou pas (là par contre, je ne sais pas comment faire).
______________________________________

AVANT de poster votre message, veuillez lire, comprendre, et appliquer notre réglement
Messages postés
14772
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
6 mars 2021
151
Bonjour,

textbox.text est forcément un String

Pour saisir des références, utilises le contrôles RefEdit (voir la boite à outils des UserForms.

Mon site
Messages postés
87
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
15 décembre 2010

ca marche avec ta methode j'avais un probléme quelque part merci bcp
Messages postés
87
Date d'inscription
mercredi 30 avril 2008
Statut
Membre
Dernière intervention
15 décembre 2010

voila le code
If isRange(textbox.Text) Then
'c'est unn range
il marche . merci pour vous réponse