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 :

VBA-E extraction de chaine


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de bernard38
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Par défaut VBA-E extraction de chaine
    Bjr,

    J'ai le code suivant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    For Each CelDonnee In PlageDonnees
     stCh = "facture"
     iPos = InStr(1, CelDonnee.Value, stCh) + Len(stCh)
     chaine = Mid(CelDonnee.Value, iPos, 8) 'Récupére les 7 caractéres suivant le mot EDG...
     CelDonnee.Offset(0, 4).Value = chaine
    Next CelDonnee
    mais ma chaine récupérée est variable en longueur.Au lieu de lui donner un nombre de caractères (en l'occurence 8) je voudrai aller jusqu'au 1er espace trouvé est-ce possible avec mid ?

  2. #2
    Membre émérite
    Avatar de Theocourant
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    618
    Détails du profil
    Informations personnelles :
    Âge : 47
    Localisation : France

    Informations forums :
    Inscription : Janvier 2005
    Messages : 618
    Par défaut
    Bonjour,

    C'est possible avec Mid, il suffit pour cela de déterminer la longueur de chaîne à copier...
    Pour la déterminer, tu utilises à nouveau la fonction InStr avec les arguments qui vont bien (cf aide en ligne de InStr) et tu fais la différence entre cette nouvelle position et la position du début de chaîne à copier.

    +

    Théo

  3. #3
    Membre confirmé Avatar de bernard38
    Inscrit en
    Février 2006
    Messages
    158
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 158
    Par défaut
    Du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    For Each CelDonnee In PlageDonnees
     stCh = "facture"
     stChf = "Date"
     iPos = InStr(1, CelDonnee.Value, stCh) + Len(stCh)
     lonPos = InStr(iPos, CelDonnee.Value, stChf)
     chaine = Mid(CelDonnee.Value, iPos, lonPos - iPos)
     CelDonnee.Offset(0, 4).Value = chaine
    Next CelDonnee
    Merci Théo.

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

Discussions similaires

  1. Extraction de chaine de caractères
    Par asterix76-rouen dans le forum Langage
    Réponses: 4
    Dernier message: 20/12/2006, 23h17
  2. [VBA]excel comparaison de chaine de caractere
    Par ogenki dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 30/01/2006, 15h32
  3. [String]Extraction de chaîne
    Par sangei dans le forum Langage
    Réponses: 6
    Dernier message: 19/12/2005, 11h25
  4. [VBA Excel] Extraction de données
    Par tpv72 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 20/09/2005, 21h49
  5. [XSLT] Extraction de chaine de caractere
    Par Hugo001 dans le forum XSL/XSLT/XPATH
    Réponses: 11
    Dernier message: 28/10/2004, 08h27

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