Chiffre avec espaces

Résolu
abouassem Messages postés 23 Date d'inscription samedi 29 janvier 2011 Statut Membre Dernière intervention 8 avril 2013 - 16 mars 2013 à 19:51
abouassem Messages postés 23 Date d'inscription samedi 29 janvier 2011 Statut Membre Dernière intervention 8 avril 2013 - 17 mars 2013 à 12:24
salut
je suis sous vb6
je cherche un code qui m'aide a ecrire un chiffre avec espaces
ex 17801015232
en 1 7 8 0 1 0 1 5 2 3 2
merci

10 réponses

ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
16 mars 2013 à 20:37
En réexaminant ton message et ton exemple, il devient en plus très clair que tu le traites pas le nombre 17801015232, mais la chaîne de caractères "17801015232" et c'est loin d'être la même "chose" !
Je ne sais pas pourquoi, mais, du coup, je me dis que tu nous étales tout simplement là un exercice de cours qui t'est imposé
Je vais donc faire exprès de te donner cette solution-là :

  titi = "17801015232"
  titi = Replace(StrConv(titi, vbUnicode), Chr(0), "  ")
  MsgBox titi


S'il ne s'agit pas d'un exercice de cours, mais d'un besoin personnel ===>> tu as ta solution.
S'il s'agit par contre d'un exercice de cours : attends-toi à la colère de ton prof, qui :
1) devinera que ce code ne vient pas de toi
2) te "coincera" en deux coups de cuillère à pot (juste une question à laquelle tu ne sauras lui répondre ).

Vouilà voilà !
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
3
Utilisateur anonyme
16 mars 2013 à 20:03
Bonjour,

Ça dépend de ce que tu faire après. Comme cela fait une mèche que je n'utilise plus VB6, c'est de mémoire. Si c'est juste pour formater l'affichage et continuer de l'utiliser pour des calculs, regarde dans ton aide pour Format$. Si tu ne veux plus les utiliser pour aucun calcul, tu peux utiliser mid$ avec quelques acrobaties pour insérer toi-même les espaces. Mais si tu veux les séparer avant et calculer après, oublie cela.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
16 mars 2013 à 20:23
Bonjour,
1) 17801015232 n'est pas un "chiffre", mais un nombre
2) tu ne nous précises :
- ni si les nombres à traiter sont toujours composés du même nombre de chiffres (ici 11)
- ni si le résultat peut perdre sa qualité de nombre pour devenir une simple chaîne de caractères.
Je t'invite donc à être précis sur ces points .
________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
abouassem Messages postés 23 Date d'inscription samedi 29 janvier 2011 Statut Membre Dernière intervention 8 avril 2013
16 mars 2013 à 20:35
salut
ce n'est ni chiffre ni un nombre
c'est compte bancaire
je suis obligé de le saisir de cette facon pour des raisons de mise en forme d'un formulaire que j'etablis sur cystal report
0

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

Posez votre question
abouassem Messages postés 23 Date d'inscription samedi 29 janvier 2011 Statut Membre Dernière intervention 8 avril 2013
16 mars 2013 à 21:13
bon soir mer ucfoutou
tu m'as mis sur le bon chemin
avec modification j'ai place ton code en keypess
comme suit
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then
Text2.SetFocus
titi = Text1
titi = Replace(StrConv(titi, vbUnicode), Chr(0), " ")
Text1 = titi
End If
End Sub
ca marche mais je souhaite le placer en text change si tu veux m'aider de nouveau
merci
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
16 mars 2013 à 21:20
mais je souhaite le placer en text change


Fort mauvaise idée ! Puisque cet évènement interviendrait à chaque modification, y compris, donc, celle induite par ton instruction !
Bien.
Si ta question, telle que tu l'avais posée, est résolue ===>> sujet à libérer (un clic sur tag "réponse acceptée" sur le message contenant la solution).


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
16 mars 2013 à 21:48
Bien,
1) Je mettrais à ta place ces instructions dans l'évènement LostFocus (tu es bien sous VB6 et non VBA, j'espère). De sorte à ce qu'elles soient exécutées même si l'utilisateur utilise la souris pour se déplacer ailleurs.
2) je mettrais par ailleurs un mécanisme pour éviter des mésaventures, du genre ajouts d'espaces là où ils existent déjà (à la suite d'une saisie antérieure, par exemple et entre autres)
Mais il s'agit là d'autres aspects que celui déjà traité.

________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
abouassem Messages postés 23 Date d'inscription samedi 29 janvier 2011 Statut Membre Dernière intervention 8 avril 2013
16 mars 2013 à 22:29
salut
je n'arrive pas a le placer comme tu dit il ne marche pas j'essaie d'autres facon
merci
0
ucfoutu Messages postés 18038 Date d'inscription lundi 7 décembre 2009 Statut Modérateur Dernière intervention 11 avril 2018 211
17 mars 2013 à 07:39
je n'arrive pas a le placer comme tu dit il ne marche pas

1) Montre ton code (depuis sub jusqu'à End Sub inclus)
2) Es-tu bien certain de développer sous VB6 (la présente section) et non sous VBA (le VBA d'une application Office, Excel, Word, etc...) qui ne gère pas exactement le même évènement ?


________________________
Réponse exacte ? => "REPONSE ACCEPTEE" facilitera les recherches.
Pas d'aide en ligne installée ? => ne comptez pas sur moi pour simplement répéter son contenu. Je n'interviendrai que si nécessité de la compléter.
0
abouassem Messages postés 23 Date d'inscription samedi 29 janvier 2011 Statut Membre Dernière intervention 8 avril 2013
17 mars 2013 à 12:24
bon jour
je dois saisir un compte de 20 chiffres
c'est resolu tout simplement
Private Sub Text1_Change()
Text1 = Format(Text1, " # # # # # # # # # # # # # # # # # # # # ")
Text1.SelStart = Len(Text1.Text)
end sub

merci
0
Rejoignez-nous