Travailler sur une chaine de caracteres

Dreamfusion Messages postés 23 Date d'inscription dimanche 29 décembre 2002 Statut Membre Dernière intervention 15 mars 2004 - 30 janv. 2003 à 17:23
cs_philoup Messages postés 20 Date d'inscription mardi 17 juin 2003 Statut Membre Dernière intervention 22 juin 2003 - 17 juin 2003 à 11:08
Hello tlm,

J'ai un chtit problème, j'expose une partie du code :
For i = 1 To MaCombo.Ubound

If MaCombo(i).Text = "Texte" Then
maphrase = maphrase & i & ", "

'XX Met en mémoire la combo défaillante
incorrect = incorrect + 1
End If

Next i

If incorrect > 1 Then
MsgBox maphrase, vbCritical + vbOKOnly, "Erreur de sélection !"
Exit Sub
ElseIf incorrect = 1 Then
....
End if

Mon problème réside dans 'maphrase'. En effet je voudrai terminer 'maphrase' par un point. Dans ce cas-ci, elle se terminera toujours par une virgule. Comment je peux aller chercher la derniere virgule et la remplacer par un point, etant donné que 'maphrase" est de taille variable ? Devrai-je utiliser un tableau pour isoler les index des combos ? Bref je sais pas...

8 réponses

MrDogbert Messages postés 133 Date d'inscription jeudi 26 octobre 2000 Statut Membre Dernière intervention 20 juillet 2004 1
30 janv. 2003 à 17:55
right (maphrase,1) = "."

MrDogbert
0
cs_DARKSIDIOUS Messages postés 15814 Date d'inscription jeudi 8 août 2002 Statut Membre Dernière intervention 4 mars 2013 130
30 janv. 2003 à 17:57
Non, il te suffit d'utiliser la méthode left :

maphrase = left(maphrase, 1) & "."

DARK SIDIOUS
0
cs_rene38 Messages postés 1858 Date d'inscription samedi 29 juin 2002 Statut Membre Dernière intervention 17 octobre 2013 11
30 janv. 2003 à 18:40
Bonsoir.
ça ne marche pas : Right est une fonction, pas une instruction.

Plusieurs solutions :
maphrase = Left(maphrase, Len(maphrase) - 1) & "."
ou bien
Mid(maphrase, Len(maphrase), 1) = "."
0
MrDogbert Messages postés 133 Date d'inscription jeudi 26 octobre 2000 Statut Membre Dernière intervention 20 juillet 2004 1
30 janv. 2003 à 21:43
MrDogbert
0

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

Posez votre question
MrDogbert Messages postés 133 Date d'inscription jeudi 26 octobre 2000 Statut Membre Dernière intervention 20 juillet 2004 1
30 janv. 2003 à 21:44
Oui c'est vrai, autant pour moi...
et pardon pour le message vide juste avant, mauvaise manipulation...
Décidement...que des connerires aujourd hui...
0
cs_philoup Messages postés 20 Date d'inscription mardi 17 juin 2003 Statut Membre Dernière intervention 22 juin 2003
17 juin 2003 à 10:46
tu fait ton for avec macombo.ubound -1
et tu traite apres ton next la derniere combo en lui concaténant un point.
0
cs_philoup Messages postés 20 Date d'inscription mardi 17 juin 2003 Statut Membre Dernière intervention 22 juin 2003
17 juin 2003 à 10:49
sinon tu fais:

For i = 1 To MaCombo.Ubound
>
> If MaCombo(i).Text = "Texte" Then
> maphrase = maphrase & i
if i <> macombo.ubound then
maphrase = maphrase & ","
else 'on en est au dernier
maphrase = maphrase & "."
end if
>
> 'XX Met en mémoire la combo défaillante
> incorrect = incorrect + 1
> End If
>
> Next i
0
cs_philoup Messages postés 20 Date d'inscription mardi 17 juin 2003 Statut Membre Dernière intervention 22 juin 2003
17 juin 2003 à 11:08
maphrase2= Replace(maphrase, ",", ".")
qui met dans "maphrase2" maphrase terminée par un point à la place d'une virgule
maphrase= maphrase2
qui met "maphrase2" dans "maphrase"
0
Rejoignez-nous