Que signifie le $ ? par exemple UCase$ ? [Résolu]

Signaler
Messages postés
165
Date d'inscription
mercredi 29 janvier 2003
Statut
Membre
Dernière intervention
15 avril 2010
-
PCPT
Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
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

Messages postés
7741
Date d'inscription
mercredi 1 septembre 2004
Statut
Membre
Dernière intervention
24 septembre 2014
32
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
Messages postés
165
Date d'inscription
mercredi 29 janvier 2003
Statut
Membre
Dernière intervention
15 avril 2010

merci bien pour cette claire explication
Messages postés
13298
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
30
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