VBA SI is empty alors ?

Résolu
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 - 26 mai 2010 à 22:09
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 - 31 mai 2010 à 11:56
Bonjour

J'ai un petit problème avec une certaine commande.

Je déclare une variable de cette facon
Minutes__ = CDbl(Left(DroiteConcatener, 2))


Sauf qu'il peut arriver (selon ce que l'utilisatuer inscrit dans un textbox) que ma variable DroiteConcatener = Empty

Donc je voulais faire un truc du genre mais j'ai toujours une erreur (Compile error: Type mismatch)
    If CDbl(Left(DroiteConcatener, 2)) Is Not Empty Then
        Minutes__ = CDbl(Left(DroiteConcatener, 2))
    Else
        Minutes__ = 0
    End If


Comment est-il possible de corriger mon problème


merci d'avance

5 réponses

cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
27 mai 2010 à 10:07
Salut
Le test "Is Empty" doit être fait sur la TextBox entière avant même de faire la moindre opération, sinon cette opération provoquera surement une erreur.
+ Le Not est mal placé
    If Not DroiteConcatener Is Empty Then
        Minutes__ = CDbl(Left(DroiteConcatener, 2))
    Else
        Minutes__ = 0
    End If

Vala
Jack, MVP VB
NB : Je ne répondrai pas aux messages privés

Le savoir est la seule matière qui s'accroit quand on la partage (Socrate)
3
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
27 mai 2010 à 07:56
Tu convertis en un Double ta variable, ça ne peut plus remonter vide. Ca remonte 0 quand il n'y a rien dans la cellule.

Teste au choix :
- Si ta variable est vide
- Si la conversion en Double de ta variable est égal à 0

En plus, vu ton code, c'est dommage de faire un If. Ce que tu fais, c'est initialiser ta variable Minutes____ à 0 si la cellule est vide, ce que fait déjà CDbl

Molenn
0
cs_JeffC1977 Messages postés 928 Date d'inscription vendredi 10 novembre 2000 Statut Membre Dernière intervention 23 septembre 2023 4
27 mai 2010 à 13:43
merci à vous deux
0
Molenn Messages postés 797 Date d'inscription mardi 7 juin 2005 Statut Membre Dernière intervention 23 février 2011 7
27 mai 2010 à 13:54
Tiens, je me rends compte que je pensais à la fonction IsEmpty(variable) = false est non à Not variable Is Empty.

Ca ne change rien, mais ça te donne une 3ème syntaxe :)

Molenn
0

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

Posez votre question
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
31 mai 2010 à 11:56
@Molenn : C'est toi qui à raison
Il faut utiliser la fonction IsEmpty
0
Rejoignez-nous