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 :

Nettoyer des textes dans des cellules à partir d'une variable - répertoire de mots [XL-2007]


Sujet :

Macros et VBA Excel

  1. #1
    Membre à l'essai
    Homme Profil pro
    Chargé d'Etude statistique
    Inscrit en
    Juillet 2017
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Chargé d'Etude statistique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2017
    Messages : 30
    Points : 15
    Points
    15
    Par défaut Nettoyer des textes dans des cellules à partir d'une variable - répertoire de mots

    Bonjour à tous,

    Je suis en train de faire une macro destinée à nettoyer une liste d'adresse et je bloc sur une étape.

    J'ai besoin de créer une fonction qui supprime dans la cellule sectionnée une liste de mots que j'aurai précédemment déclaré.

    Ex : liste de mot déclaré : ("amiral", "docteur", "president")
    Ex remplacement : Rue amiral Courbet -> Rue Courbet

    Je n'arrive pas à trouver le bon mécanisme.

    Cette fonction ne supprime que l'expression "capitaine"
    Rue amiral courbet -> Rue amiral courbet
    Function SUPTITRE5(Strchaine) As String
    Dim titre()
    titre = Array("docteur", "general", "professeur", "president", "amiral", "commandant", "marechal", "colonel", "lieutenant", "consul", "capitaine")
    For i = 0 To UBound(titre)
    SUPTITRE4 = Replace(Strchaine, titre(i), "")
    Next i
    End Function
    Cette fonction là additionne la chaine avec remplacement de caractères à celle sans remplacement de caractères
    Rue Amiral Courbet -> Rue Amiral Courbet Rue Courbet

    Function SUPTITRE3(Strchaine) As String
    Dim tablo() As String, titre()
    titre = Array("docteur", "general", "profeseur", "president", "amiral", "comandant", "marechal", "colonel", "lieutenant", "consul", "capitaine")
    tablo() = Split(Strchaine, " ")
    For i = 0 To UBound(titre)
    For f = 0 To UBound(tablo)
    If tablo(f) = titre(i) Then
    SUPTITRE3 = SUPTITRE3 & Mid(Strchaine, Len(tablo(f)) + 1) & " "
    ElseIf SUPTITRE3 = "" Then
    SUPTITRE3 = Strchaine
    End If
    Next f
    Next i
    End Function
    Quelqu'un pourrait-il m'aider à trouver l'astuce pour que ça marche ?

  2. #2
    Rédacteur/Modérateur

    Avatar de Jean-Philippe André
    Homme Profil pro
    Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Inscrit en
    Juillet 2007
    Messages
    14 665
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : Canada

    Informations professionnelles :
    Activité : Architecte Power Platform, ex-Développeur VBA/C#/VB.Net
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 665
    Points : 34 373
    Points
    34 373
    Par défaut
    Salut,

    pour la raison simple que tu ne changes pas la chaine dejà modifiée

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    Function SUPTITRE5(ByVal Strchaine as string) As String
    Dim titre()
    dim result as string
    result = strChaine
    titre = Array("docteur", "general", "professeur", "president", "amiral", "commandant", "marechal", "colonel", "lieutenant", "consul", "capitaine")
    For i = 0 To UBound(titre)
    result = Replace(result, titre(i), "")
    Next i
    SUPTITRE5 = result
    End Function

  3. #3
    Membre à l'essai
    Homme Profil pro
    Chargé d'Etude statistique
    Inscrit en
    Juillet 2017
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Chargé d'Etude statistique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Juillet 2017
    Messages : 30
    Points : 15
    Points
    15
    Par défaut
    Bas oui !

    Je fait que commencer. Au moins j'aurais compris un truc.

    Merci beaucoup !

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

Discussions similaires

  1. Charger des données dans un GridPanel à partir d'une DB
    Par Erwan62 dans le forum Ext JS / Sencha
    Réponses: 4
    Dernier message: 15/05/2009, 17h27
  2. Réponses: 1
    Dernier message: 19/04/2008, 17h26
  3. Réponses: 12
    Dernier message: 26/03/2008, 17h40
  4. Réponses: 1
    Dernier message: 18/09/2007, 18h22
  5. Afficher des données dans un datagrid à partir d'une base de données MySQL
    Par General_Garrisson dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 13/07/2006, 16h14

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