Chiffre avec espaces [Résolu]

Signaler
Messages postés
23
Date d'inscription
samedi 29 janvier 2011
Statut
Membre
Dernière intervention
8 avril 2013
-
Messages postés
23
Date d'inscription
samedi 29 janvier 2011
Statut
Membre
Dernière intervention
8 avril 2013
-
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

Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
226
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.

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.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
226
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.
Messages postés
23
Date d'inscription
samedi 29 janvier 2011
Statut
Membre
Dernière intervention
8 avril 2013

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
Messages postés
23
Date d'inscription
samedi 29 janvier 2011
Statut
Membre
Dernière intervention
8 avril 2013

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
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
226
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.
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
226
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.
Messages postés
23
Date d'inscription
samedi 29 janvier 2011
Statut
Membre
Dernière intervention
8 avril 2013

salut
je n'arrive pas a le placer comme tu dit il ne marche pas j'essaie d'autres facon
merci
Messages postés
18038
Date d'inscription
lundi 7 décembre 2009
Statut
Modérateur
Dernière intervention
11 avril 2018
226
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.
Messages postés
23
Date d'inscription
samedi 29 janvier 2011
Statut
Membre
Dernière intervention
8 avril 2013

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