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 :

une fonction pour regex expression rationnelle


Sujet :

Macros et VBA Excel

  1. #1
    Membre très actif
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Par défaut une fonction pour regex expression rationnelle
    j'aimerais créer une fonction pour créer object reg expression pour réutiliser partout .j'ai donc créer comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    Function f_reg_ex()
      Dim reg As VBScript_RegExp_55.RegExp
      Set reg = New VBScript_RegExp_55.RegExp
        With reg
        .Global = True
        .MultiLine = True
        .IgnoreCase = True
        .pattern = strPattern
        End With
      f_reg_ex = reg
    End Function
    et l'appeler comme ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    f_reg_ex.pattern = "\s+"
    For Each c In plage
    If c.Value <> "" Then c.Value = f_reg_ex.Replace(c.Value, "-") + ".jpg"
    Next c
    apparemment celà ne semble pas marcher.je ne suis pas sur que c'est possible de faire celà.
    si vous avez une idée .
    merci pour votre aide

  2. #2
    Expert éminent Avatar de mercatog
    Homme Profil pro
    Inscrit en
    Juillet 2008
    Messages
    9 435
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Autre

    Informations forums :
    Inscription : Juillet 2008
    Messages : 9 435
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Function f_reg_ex(ByVal Expression As String, ByVal Replacement As String, ByVal StrPattern As String) As String
     
    With CreateObject("vbscript.regexp")
        .Global = True
        .MultiLine = True
        .IgnoreCase = True
        .Pattern = StrPattern
        f_reg_ex = .Replace(Expression, Replacement)
    End With
    End Function
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    For Each c In plage
        If c.Value <> "" Then c.Value = f_reg_ex(c.Value, "-", "\s+") + ".jpg"
    Next c
    Ainsi, la fonction est appelée à chaque tour de boucle

  3. #3
    Membre très actif
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Par défaut
    merci mercatog .superbe ca marche

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

Discussions similaires

  1. [Configuration] une fonction pour un calendrier parametrable
    Par hrz dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 2
    Dernier message: 05/02/2006, 11h11
  2. [Regex]Expression régulière
    Par Guillaume Bénétrix dans le forum Collection et Stream
    Réponses: 6
    Dernier message: 06/12/2005, 00h21
  3. Réponses: 8
    Dernier message: 02/12/2005, 18h07
  4. [Incompatibilité] Une fonction pour un ascenseur interne
    Par sempire dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 12/10/2005, 10h42
  5. Détourner une fonction pour copier un fichier en mémoire
    Par Rodrigue dans le forum C++Builder
    Réponses: 6
    Dernier message: 12/11/2003, 08h29

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