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

Macros et VBA Excel Discussion :

Recherche de la valeur d'un caractère à une position définie


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Chimiste
    Inscrit en
    Décembre 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chimiste

    Informations forums :
    Inscription : Décembre 2012
    Messages : 24
    Par défaut Recherche de la valeur d'un caractère à une position définie
    Bonjour,

    Je cherche à définir la valeur d'un caractère d'un string à une position définie, mais variable.
    Un élément simplifie les choses: cette position est située systématiquement après la suite "(R" dans le string.

    Pour commencer, j'ai tenté d'utiliser "SEARCH" qui me donne la position de la parenthèse dans le string.

    Il me suffit d'ajouter 2 et j'obtiens la position de mon caractère dans le string.

    Et la je ne trouve pas de fonction qui renvoie la valeur du caractère à cette position.
    Quelle est cette fonction (si elle existe?)


    Merci!

  2. #2
    Membre Expert
    Homme Profil pro
    Retraité
    Inscrit en
    Avril 2011
    Messages
    1 858
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Avril 2011
    Messages : 1 858
    Par défaut
    Bonjour,

    Regarde du coté de la fonction =STXT()

    Cordialement.

  3. #3
    Membre averti
    Homme Profil pro
    Chimiste
    Inscrit en
    Décembre 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chimiste

    Informations forums :
    Inscription : Décembre 2012
    Messages : 24
    Par défaut
    Bonjour

    Merci de la réponse rapide.

    Si j'ai bien vu, son équivalent anglais c'est MID.

    Merci, ça a l'air de bien fonctionner!

  4. #4
    Membre averti
    Homme Profil pro
    Chimiste
    Inscrit en
    Décembre 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chimiste

    Informations forums :
    Inscription : Décembre 2012
    Messages : 24
    Par défaut
    Bonjour,

    En fait, non, ça ne marche pas du tout
    Ca marche bien quand je rentre la fonction dans la worksheet, mais dés que je passe en macro, je reçois messages d'erreur sur messages d'erreur.

    Etant, novice, je ne m'en sors pas

    Qu'y a-t-il de mauvais dans ce code?
    (l'array Vpnj est déclaré integer en public et je m'en sers pour définir les positions variables)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Sub Search()
        Dim Rsearch As Integer
        Rsearch = Search("(R", Cells(Vpnj(6, 4), 1), 1) ' chercher (R sur la cell de row variable dans la colonne 1
        Vpnj(4, 3) = Mid(Cells(Vpnj(6, 4), 1), Rsea + 2, 1) ' prendre la valeur juste après le (R de cette même cellule
        Cells(1, 1) = Vpnj(4, 3) 'afficher dans la première case la valeur de ce caractère
     
    End Sub

  5. #5
    Membre éprouvé
    Homme Profil pro
    Auditeur informatique
    Inscrit en
    Octobre 2011
    Messages
    46
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 69
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Auditeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Octobre 2011
    Messages : 46
    Par défaut
    Bonjour,

    Il semble qu'il y ait une petite coquille

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
        Vpnj(4, 3) = Mid(Cells(Vpnj(6, 4), 1), Rsea + 2, 1) ' prendre la valeur juste après le (R de cette même cellule
    ne serait-il pas plutôt ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
       Vpnj(4, 3) = Mid(Cells(Vpnj(6, 4), 1), Rsearch + 2, 1) ' prendre la valeur juste après le (R de cette même cellule

  6. #6
    Membre averti
    Homme Profil pro
    Chimiste
    Inscrit en
    Décembre 2012
    Messages
    24
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Chimiste

    Informations forums :
    Inscription : Décembre 2012
    Messages : 24
    Par défaut
    Exact, mais en fait, c'est la ligne avec la fonction search qui bloque, le programme n'est pas encore arrivé à la ligne suivante.

    le message d'erreur que je reçois est "wrong number of arguments or invalid property asignement" (avec le "search" surligné)

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 24/06/2014, 08h52
  2. Rechercher si plusieurs valeurs sont présentes dans une piece
    Par progscoubi dans le forum Développement de jobs
    Réponses: 1
    Dernier message: 31/07/2013, 14h33
  3. Remplacer un caractère à une position donnée
    Par michel42 dans le forum Langage
    Réponses: 7
    Dernier message: 18/04/2012, 15h30
  4. Réponses: 21
    Dernier message: 22/01/2012, 02h19
  5. Remplacement d'un caractère à une position donnée
    Par erustika dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 24/10/2011, 16h35

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