Que signifie le $ ? par exemple UCase$ ?

Résolu
cs_HeXoR Messages postés 165 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 15 avril 2010 - 10 mai 2008 à 15:43
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 - 11 mai 2008 à 10:27
Tout est dans le titre, j'ai rencontré un code dans lequel il y avait UCase$ qui met un texte en majuscule, mais quelle est la différence avec UCase sans $ ?
merci

3 réponses

cs_casy Messages postés 7741 Date d'inscription mercredi 1 septembre 2004 Statut Membre Dernière intervention 24 septembre 2014 40
10 mai 2008 à 15:58
Le $ signifie que ta fonction retourne une chaine de caractère.

En effet, UCase$ retourne une variable de type String, alors que UCase retourne une variable de type Variant, qui sera de toute façon implicitement convertie en String, puisque c'est une strng que tu attends.

Pourquoi utiliser l'une plutot que l'autre ?
UCase$ a tendance à etre un peu plus rapide i y a moins de convertion à faire. Je te rassure, en usage courant tu ne verra aucune différences. Par contre, si ta conversion est dans un boucle de plusieurs centaines de millier d'itération, là tu pourrais commencer par voir une différence peut-etre.

De plus UCase, retournant un variant, necessite une conversion, généralement implicite, en string. Comme toute conversion implicite, elle peut donner lieu à des données erronées. Mais c'est extrement rare, personellement je n'en ai jamais rencontrer sur cette instruction.

Laquelle utiliser?
Les puristes te diront d'utiliser UCase$. Et même s'ils ont raison, personellement, j'avoue que c'est un peu selon l'humeur.

---- Sevyc64  (alias Casy) ----<hr size="2" width="100%" /># LE PARTAGE EST NOTRE FORCE #    http://aide-office-vba.monforum.com/index.php
3
cs_HeXoR Messages postés 165 Date d'inscription mercredi 29 janvier 2003 Statut Membre Dernière intervention 15 avril 2010
10 mai 2008 à 16:26
merci bien pour cette claire explication
0
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
11 mai 2008 à 10:27
salut,

pour ajouter, c'est bien la fonction UCASE$ qui est différente de UCASE
ce n'est pas la magie d'ajouter un $, les 2 fonctions existent, et il y en a plusieurs comme çà

réflexe : F2

++ ;)
<hr size="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
0
Rejoignez-nous