Fonction Mid

Résolu
losc_cartouche Messages postés 51 Date d'inscription mardi 6 février 2007 Statut Membre Dernière intervention 25 mars 2008 - 30 janv. 2008 à 17:25
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 - 30 janv. 2008 à 19:02
J'utilise la fonction Mid sur un nombre mais il ne me prends pas le 0 si il y en a 1 par exemple si je fais Mid(015,1,2) 015 étant ma varibale il va me donner 1 alors que je voudrai récupérer 01

11 réponses

LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
30 janv. 2008 à 18:26
d' ou:
Mid(Forma$(xVar,"000"), 1, 2)
3
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
30 janv. 2008 à 17:32
ton premier argument doit être une chaine...
essayes avec ça (en dur)

Mid("015",1,2)
0
losc_cartouche Messages postés 51 Date d'inscription mardi 6 février 2007 Statut Membre Dernière intervention 25 mars 2008
30 janv. 2008 à 17:36
Le probleme c'est que ma variable va changer à chaque fois il s'agit d'un code ou je ne dois prendre que les 2 premiers chiffres!
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
30 janv. 2008 à 17:45
je sais qu' il s' agit d' une variable . c' est juste pour le test .
En tout cas ta variable doit être string.
0

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

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
30 janv. 2008 à 18:13
MsgBox Format(Mid(015, 1, 2), "000")
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
30 janv. 2008 à 18:23
le problème c' est que si sa variable est numérique, elle ne prendera jamais la forme 015 mais bien 15
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
30 janv. 2008 à 18:24
je veux dire
Mid(15, 1, 2) et non Mid(015, 1, 2)
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
30 janv. 2008 à 18:28
Tu as essayé ?
MsgBox Format(Mid(15, 1, 2), "000") te donnera également la chaîne "015"

Il est maintenant bien clair que si cette chaîne est ensuite reprise dans un format numérique, elle redeviendra 15 !!! (car 015 n'est pas un nombre ...)
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
30 janv. 2008 à 18:39
le but est d' avoir 01 et non 015 :-)

d' ou, (encore une fois )
MsgBox Mid(Forma$(15,"000"), 1, 2)
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
30 janv. 2008 à 18:52
Ouais :

Alors :
1) si ta variable de départ est un numérique, elle ne peut être 015, par définition !
si tu pars donc du numérique 15, rien ne t'indertit de le transformer en chaîne "015" avant de traiter
donc :====>>>   Mid(Format(15, "000"), 1, 2)
2) si ta variable est une chaîne de caractère (donc "015") le mid (sans format) te permet d'en extraire les deux 1ers caractères, donc "01"
 Mid("015", 1, 2)

Voilà ! Mais tu ne peux avoir un pied sur un bateau et l'autre sur l'autre !!!
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
30 janv. 2008 à 19:02
tu veux dire l' autre bateau sur l' autre pierd ? ;-)
0
Rejoignez-nous