Exploiter une chaine de caractère

Résolu
ShiZZle971 Messages postés 21 Date d'inscription vendredi 3 juin 2005 Statut Membre Dernière intervention 20 décembre 2007 - 18 janv. 2007 à 13:34
Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 - 24 janv. 2007 à 14:54
Salut,
Je coince sur une étape de mon projet qui me donne sincèrement mal à la tête.
Je possède déjà le code de l'incrémentation alphabétique et je sais comment récupéré UNE lettre dans une chaine de caractère.
Mais je n'arrive pas, si par exemple, j'ai "415E" a retourner "415F".
Le plus gros problème ensuite selon moi est que quand j'arrive a "415Z" de passer à "416A".
Si vous pouviez m'aider, sincèrement; je vous en serait très reconnaissant.
Merci.

35 réponses

jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 janv. 2007 à 09:14
Excuse :
corrige :If car "Z" Then car Chr(Asc("A") - 1)
bien sur
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 janv. 2007 à 09:31
PS :
Quand tu repasseras par là, profites-en pour aller mettre sur chacun des autres sujets que tu as ouverts (de surcroît tous sur le même thème, apparemment), "Réponse acceptée" partout où la réponse était efficace ...
Tu aurais pu éviter, en exprimant d'entrée de jeu la chose, tous ces sujets ...
0
ShiZZle971 Messages postés 21 Date d'inscription vendredi 3 juin 2005 Statut Membre Dernière intervention 20 décembre 2007
19 janv. 2007 à 11:36
Salut, merci de ton aide, je te dirais si cela fonctionne dans 2 heures.

J'ai déjà mis réponse acceptée sur les codes qui fonctionnaient très bien, j'ai demander ces codes car j'ai pensé que je ferais le reste mais apparemment c'était pas aussi simple que ça.

A +.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 janv. 2007 à 11:56
Bien !

Enlève dans mon dernier code la ligne
N = 1
que j'ai laissée traîner et qui ne sert à rien dans cette affaire...
0

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

Posez votre question
ShiZZle971 Messages postés 21 Date d'inscription vendredi 3 juin 2005 Statut Membre Dernière intervention 20 décembre 2007
19 janv. 2007 à 14:04
Salut,
Alors j'essaie ton code en corrigeant avec ce que tu m'as dit, mais en VB. Net, à la ligne :
      
     "Text1.Text = Left(Text1.Text, pos) & Chr(Asc(Car) + 1) & Mid(Text1.Text, pos + 2)"

"Left" est souligné.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 janv. 2007 à 14:14
Je l'ai écrit en VB6.
Transpose ce left en VB.Net !
Un VB.Netiste passera par là pour te dire comment s'e transpose ce Left ...
Mais tu peux déjà chercher dans ton aide en ligne :
Left(toto,2) veut dire les 2 premiers caractères à gauche dans toto
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 janv. 2007 à 14:22
Je crois d'ailleurs qu'il suffit, en VB.Net, de remplacer Left par VB.Left ... (si c'est celà, pas sorcier...)
0
ShiZZle971 Messages postés 21 Date d'inscription vendredi 3 juin 2005 Statut Membre Dernière intervention 20 décembre 2007
19 janv. 2007 à 14:26
Non c'est pas ça lol, le "SelStart" en .Net sa donne "SelectionStart", je cherche encore pour le "Left" merci.
0
ShiZZle971 Messages postés 21 Date d'inscription vendredi 3 juin 2005 Statut Membre Dernière intervention 20 décembre 2007
19 janv. 2007 à 15:20
Alors après une tite recherche sur le forum, j'ai lu que le "Left" se tranformait en "Mid".
Donc j'ai testé ton code je tape "555F", je place le curseur avant le F et je clique, le résultat est "5FG". Or j'aurais du avoir "555G".
0
Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 7
19 janv. 2007 à 18:35
Salut, toutes le fonctions textes de vb6 sont reprises dans la classe Strings en .Net. Donc tu as Strings.Left, Strings.Mid, Strings.Asc, Strings.Chr ...etc...
Visual Studio comprend quasi tout sans précisé Strings. mais pas Left et Right qui sont par défaut les propriétés de taille de ton form lorsque tu code dedans.
Sinon la plupart des .Netiste préfèrent MaChaine.Substring(début, longueur) à Mid(TaChaine, début, longueur), mais c'est de l'ordre du détail...
<hr size="2" width="100%" />Julien.
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
19 janv. 2007 à 18:51
Merci Julien,

donc, 526320 ShiZZle971, tu pourrais également écrire : 

Text1.Text = text1.text.substring( 1, pos) & Chr(Asc(car) + 1) & text12.text.substring(pos + 2, len(text1.text))

Corrige si je me suis trompé, Julien, et merci encore.
0
ShiZZle971 Messages postés 21 Date d'inscription vendredi 3 juin 2005 Statut Membre Dernière intervention 20 décembre 2007
19 janv. 2007 à 19:45
Merci julien et jmfmarques, ça marche très bien sauf que après "555Z" je n'ai pas "556A" mais "555A". Je vais essayer de résoudre ce petit détail.
Merci encore
0
ShiZZle971 Messages postés 21 Date d'inscription vendredi 3 juin 2005 Statut Membre Dernière intervention 20 décembre 2007
22 janv. 2007 à 13:24
Marche impect ton code.
Merci.
0
ShiZZle971 Messages postés 21 Date d'inscription vendredi 3 juin 2005 Statut Membre Dernière intervention 20 décembre 2007
24 janv. 2007 à 14:48
Re : Exploiter une chaine de caractère

par : [auteurdetail.aspx?ID=526320 ShiZZle971]
le 19/01/2007 01:52:49

Comme vous avez pu le
remarquer, il n'y a pas forcément qu'une seule lettre dans un numéro de
série, il peut même ne pas y en avoir. Je pensais donc placer un
marqueur comme "*" avant la lettre à incrémenter dans ma textbox pour
indiquer quelle lettre incrémenter.



Salut,
L'un d'entre vous saurais comment on fait pour prendre en compte un marqueur comme "*" par exemple, plutot que de placer le curseur avant le caractère à incrémenter ?
Merci.
0
Julien237 Messages postés 883 Date d'inscription vendredi 3 novembre 2000 Statut Membre Dernière intervention 3 mars 2009 7
24 janv. 2007 à 14:54
Pos = Instr(text1.text, "*")...

<hr size="2" width="100%" />Julien.
0
Rejoignez-nous