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

Excel Discussion :

Remplacement avec expressions régulières


Sujet :

Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 13
    Par défaut Remplacement avec expressions régulières
    Bonjour,

    Je cherche à faire un remplacement dans ma feuille Excel avec des expressions régulières mais je ne sais pas si c'est possible et si c'est possible je ne connais pas la syntaxe des expressions régulières d'Excel.

    Si il y a une solution qui éviterai de passer par du VBA cela serait encore mieux.

    En pratique, j'ai une feuille dont les cellules sont remplies de formule
    =FONCTION1(MOTCLE; UN_PARAMETRE)
    et je voudrais remplacer toutes les formules de ces cellules par
    =FONCTION2(FONCTION1(MOTCLE; UN_PARAMETRE)/100; FONCTION1(MOTCLE; UN_AUTRE_PARAMETRE))

    Le MOTCLE est différent pour chaque cellule, les paramètres seront toujours les mêmes par contre.

    Dans certains langages et dans certains logiciels on peut demander à remplacer par exemple =FONCTION1([A-Z]*; [0-9]*)
    par
    =FONCTION2(FONCTION1($1; $2)/100; FONCTION1($1; UN_AUTRE_PARAMETRE))

    Le $1 représentant le mot clé qui répond à l'expression régulière [A-Z]* et $2 représentant le mot clé qui répond à l'expression régulière [0-9]*.

    Je n'arrive pas à utiliser ce principe dans le remplacement (CTRL+H) d'Excel, si quelqu'un avait une solution pour moi.

    Merci d'avance

  2. #2
    Membre émérite
    Inscrit en
    Décembre 2006
    Messages
    897
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 897
    Par défaut Un peu de lecture

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2008
    Messages : 13
    Par défaut
    Merci pour ton aide mais ...

    En effet les fonctions utilisées pour les REGEX sont les mêmes mais je n'arrive toujours pas à résoudre mon problème.
    Je peux remplacer le contenu texte et/ou chiffre d'une cellule grâce à une fonction qui utilise les REGEX mais je n'arrive pas à appliquer mes REGEX aux formules des cellules.

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 128
    Par défaut
    Citation Envoyé par Mikediten
    je n'arrive pas à appliquer mes REGEX aux formules des cellules.
    C'est normal, il n'existe aucune fonction de feuille de calcul qui permet de le faire. Si c'est faisable, c'est au mieux avec les caractères "*" et "?" mais pas avec la syntaxe aussi complexe permise par le composant Regexp.

    Envoyé par Mikediten
    Dans certains langages et dans certains logiciels on peut demander à remplacer par exemple =FONCTION1([A-Z]*; [0-9]*)
    par
    =FONCTION2(FONCTION1($1; $2)/100; FONCTION1($1; UN_AUTRE_PARAMETRE))
    On peut le faire aussi dans Excel mais en utilisant VBA et l'objet Regexp

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Juin 2009
    Messages
    128
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2009
    Messages : 128
    Par défaut
    Citation Envoyé par ESVBA Voir le message
    plus précisément, la fonction Replace comme dans l'exemple à l'adresse:

    http://cafeine.developpez.com/access...exp/#LII-A-2-c

    Avec le contenu de la cellule A1 à remplacer, il suffit de faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Cells(1,1) = reg.replace(Cells(1,1),patternRemplacement)

Discussions similaires

  1. Besoin d'aide pour remplacer avec expression régulière sur plusieurs lignes
    Par MediaVistaIntel dans le forum Général Python
    Réponses: 11
    Dernier message: 01/12/2011, 14h19
  2. [XL-2003] remplacement avec expression régulière ?
    Par rtol05 dans le forum Excel
    Réponses: 4
    Dernier message: 08/03/2011, 18h12
  3. [RegEx] Contrôle avec expression régulière
    Par lodan dans le forum Langage
    Réponses: 8
    Dernier message: 23/10/2006, 19h32
  4. [RegEx] Problème avec expressions régulières.
    Par Cygnus Saint dans le forum Langage
    Réponses: 12
    Dernier message: 14/08/2006, 11h55
  5. [C#] Caractères hexadécimal avec expressions régulières
    Par shinchan dans le forum Windows Forms
    Réponses: 4
    Dernier message: 16/01/2006, 11h41

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