IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Changer la valeur des nombres dans un textbox [Débutant]


Sujet :

VB.NET

  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2018
    Messages : 28
    Points : 17
    Points
    17
    Par défaut Changer la valeur des nombres dans un textbox
    Bonjour , j'ai effectué des recherches sur le forum mais je n'ai , malheureusement , pas trouvé mon bonheur.
    Ce que je souhaite faire est assez simple (dans l'idée). Je dispose d'une liste de coordonnées dans un TextBox telles que :

    X95.2 Y-246.3 Z-73.5 C90
    X98.8 Y-250.9 Z-77.7 C130
    X104 Y-250.9 Z-96.5 C115.2
    X135 Y-250.9 Z-96.3 C45.5
    X159.2 Y-238.5 Z-83.1 C155
    X180.2 Y-201.7 Z-84.5
    X192.2 Y-201.7 C1.5

    Mon objectif est d'arriver à ajouter 90 aux valeurs qui suivent la lettre "C". Ainsi j'aimerais avoir ceci sur mon écran (après avoir lancé le programme ) :

    X95.2 Y-246.3 Z-73.5 C180
    X98.8 Y-250.9 Z-77.7 C220
    X104 Y-250.9 Z-96.5 C205.2
    X135 Y-250.9 Z-96.3 C135.5
    X159.2 Y-238.5 Z-83.1 C245
    X180.2 Y-201.7 Z-84.5
    X192.2 Y-201.7 C91.5

    J'ai utilisé la fonction InStr() dans un premier temps pour détecter la présence d'un "C" dans ma ligne mais j'avoue que je suis bloqué. Je ne vois pas comment faire comprendre au programme d'ajouter 90 au nombre qui suit.

    Une idée ? Merci d'avance

  2. #2
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Bonjour,

    1)
    Il suffirait d utiliser la fonction Split(" ") pour retourner un tableau retournant 4 valeurs :
    Dim str() = textbox1.split(" ")

    2)
    Tu obtiens 4 valeurs :
    Dim one as string = str(0)
    Dim two as string = str(1)
    Dim three as string = str(2)
    Dim four as string = str(3) 'cette chaine contient le prefixe C

    3)
    Tu travailles ensuite avec la fonction replace et indexof pour parser, calculer puis reconstituer ta chaine

    ++

  3. #3
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2018
    Messages : 28
    Points : 17
    Points
    17
    Par défaut
    Merci wallace pour ta réponse.

    Ta solution me paraît bonne , mais j'ai un problème que je viens de remarquer. Sur certaines lignes , il n'y a pas d'espace entre le "C" et ce qui précède.
    Par exemple :

    Y212.6 Z1
    X-116.8C110
    G0X93.9Y-141.9B-2.7C-90
    Z65.1


    Comment puis-je m'y prendre dans ce cas ?

    Merci encore pour le temps passé à me répondre !

  4. #4
    Expert confirmé
    Avatar de wallace1
    Homme Profil pro
    Administrateur systèmes
    Inscrit en
    Octobre 2008
    Messages
    1 966
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Administrateur systèmes
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Octobre 2008
    Messages : 1 966
    Points : 4 005
    Points
    4 005
    Billets dans le blog
    7
    Par défaut
    Donc utiliser la fonction lastindexof("C") qui te retourne l index de type integer de la position C dans ta chaîne ensuite tu utilises la fonction substring(Index)

    À voir j ai pas testé.

  5. #5
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2018
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Mai 2018
    Messages : 28
    Points : 17
    Points
    17
    Par défaut
    Du coup j'ai réussi à faire ce que je voulais en utilisant plusieurs choses :

    J'ai utilisé la fonction Split() sur les "C" de mes chaînes afin d'avoir un tableau str() qui comporte en str(0) ce qui se trouve à gauche de mon "C" et str(1) ce qui se trouve à droite de ce dernier ( en l'occurence, c'est la partie qui m'intéresse ! )

    Ensuite j'ai testé mon str(1) avec IsNumeric() afin de savoir si il s'agit bien d'un chiffre.

    Enfin, j'utilise Replace() pour changer le contenu mon str(1) en y ajoutant 90 !

    Et voilà ! J'ai mit un peu de temps à rassembler les éléments dont j'avais besoin mais on finit toujours pas y arrivé ! Encore merci wallace pour m'avoir répondu !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 05/04/2017, 21h33
  2. [XL-2007] Mettre des valeurs de cellules dans un textbox
    Par Lelldorin dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 29/04/2013, 11h26
  3. [XL-2007] Mettre des valeurs de cellules dans un textbox
    Par Lelldorin dans le forum Excel
    Réponses: 1
    Dernier message: 29/04/2013, 10h37
  4. changer la valeur des données dans une colonne excel et les trier
    Par thewind1 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 28/01/2011, 22h35
  5. changer des nombres dans une chaine
    Par newbiegeek dans le forum ASP
    Réponses: 11
    Dernier message: 09/08/2007, 15h24

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo