Insertion d'un caractère dans une chaine de caractère [Résolu]

Signaler
Messages postés
134
Date d'inscription
mercredi 2 mars 2005
Statut
Membre
Dernière intervention
5 avril 2007
-
Messages postés
13281
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
-
Bonjour je souhaiterais insérer une "," dans une chaine de caratère à une position précise.
exemple:
Cumul as double 'contient une donné genre 3900
et je voudrais insérer la "," en 2ème position en partant de la droite
donnant le résultat suivant 39,00
Merci d'avance
jordinette

4 réponses

Messages postés
154
Date d'inscription
jeudi 22 mai 2003
Statut
Membre
Dernière intervention
6 septembre 2007

Salut,



Si tu fais Cumul / 100 ça te conviens pas ?


Tchô
AnteManoclis
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 258 internautes nous ont dit merci ce mois-ci

Messages postés
90
Date d'inscription
dimanche 5 novembre 2000
Statut
Membre
Dernière intervention
26 juillet 2006

Salut,

Dim MaChaine As String 'Ta Chaine (ex : 3900)
Dim MaPosition As Integer 'La position à laquelle tu veux insérer ton caractère (ex : 2)
Dim MonCaractère As String 'Le caractère (ex : ,)

MaChaine = "3900"
MaPosition = 2
MonCaractère = ","


MaChaine = Mid$(MaChaine, 1, MaPosition-1) & MonCaractère & Mid$(MaChaine, MaPosition)
3
Merci

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 258 internautes nous ont dit merci ce mois-ci

Messages postés
13281
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
30
salut,


Option Explicit

Private Sub Form_Load()
Const Cumul As Double = 3900
Const Separ As String = "," 'un "." peut être nécessaire pour Val

Dim sResultat1 As String
Dim sResultat2 As String

' 1ère méthode. on prend le reste sur 100
Dim lReste As Long, sReste As String
lReste = Cumul Mod 100
If lReste < 10 Then
sReste = "0" & CStr (lReste)
Else
sReste = CStr(lReste)
End If

sResultat1 = CStr (Int(Cumul / 100)) & Separ & sReste
MsgBox sResultat1

' 2ème méthode. par position
Dim sLeft As String, sRight As String
sRight = Right$(CStr(Cumul), 2)
sLeft = Left$( CStr (Cumul), Len(CStr(Cumul)) - 2)

sResultat2 = sLeft & Separ & sRight
MsgBox sResultat2

Unload Me
End Sub



<SMALL> Coloration syntaxique automatique [AFCK]</SMALL>


PCPT [AFCK]
Messages postés
13281
Date d'inscription
lundi 13 décembre 2004
Statut
Modérateur
Dernière intervention
3 février 2018
30
arf, satané refresh....
sinon, juste un "/100" enlèverait le ",00" en cas d'entier.