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 :

mettre en majuscule le premier mot de chaque mot séparé par espace ou tiret


Sujet :

Macros et VBA Excel

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Points : 118
    Points
    118
    Par défaut mettre en majuscule le premier mot de chaque mot séparé par espace ou tiret
    bonjour
    j'ai des bouts de textes avec des mots séparés par espace et ou avec des tirets -
    Vaio PCG-FR
    et j'aimerais avoir chaque premier mot en majuscule.
    j'aimerais savoir si on peut le faire en vba ou vba expression régulière
    merci pour votre aide
    Vaio Pcg-Fr

  2. #2
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    bonsoir

    vbpropername

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Points : 118
    Points
    118
    Par défaut
    je ne comprends pas trop votre réponse vbpropername

  4. #4
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 176
    Points
    4 176
    Par défaut
    re,

    Un Exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print Replace(StrConv(Replace(Selection,"-", " _ "),3), " _ " , "-")
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Debug.Print Replace(StrConv(Replace(Selection,"-", " _ "), vbProperCase), " _ " , "-")
    vbProperCase = 3

    autre exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Montext = "Vaio PCG-FR"
    Debug.Print Replace(StrConv(Replace(Montext,"-", " _ "), vbProperCase), " _ " , "-")

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Points : 118
    Points
    118
    Par défaut
    merci RyuAutodidacte comme dhabitude
    mais je ne comprends pas pourquoi utiliser replace
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Replace(Selection,"-", " _ ")
    est vraiment utile?

  6. #6
    Membre extrêmement actif
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 83
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    Points : 12 430
    Points
    12 430
    Par défaut
    Bonjour à tous
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MsgBox WorksheetFunction.Proper("couCou voilà-voiLA. et comme cela ?")

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Points : 118
    Points
    118
    Par défaut
    waoh trop fort unparia merci et bien sur un grand merci à RyuAutodidacte toujours présent sur le forum pour aider

  8. #8
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 176
    Points
    4 176
    Par défaut
    Bien joué Jacques


    mais je ne comprends pas pourquoi utiliser replace
    vbProperCase 3 Convertit la première lettre de chaque mot d’une chaîne en majuscule.

    ici pour PCG-FR comme tout est attaché il ne considère pas FR à part et ce même si il y un tiret
    donc le résultat sera : Pcg-fr

    donc avec le replace je créé la séparation (PCG _ FR) pour faire la conversion des 1ère lettre de chaque mot en capital (Pcg _ Fr) puis je remet le tiret à l'état initial (Pcg-Fr)

    Edit : sur l'un des post que j'avais traité, je m'étais retrouvé avec une erreur avec l'utilisation de :
    WorksheetFunction
    sans aucune raison apparente, depuis j'utilise toujours : Application

    Il aurait été judicieux de rajouter dans la faq : Proper
    ici : http://silkyroad.developpez.com/VBA/...nesCaracteres/

    il est manquant à l'appel des manipulations de caractères

  9. #9
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    re Bonjour a tous
    ryu pourquoi replace tu un caractère par un autre ? ca marche aussi bien avec le même

    et en effet worksheetfunction.proper semble fonctionner correctement alors que vbpropercase ne fonctionnerait pas avec les prénoms composés du genre "Jean-Marc"

    je n'avais jamais remarqué ce détail
    merci

  10. #10
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 176
    Points
    4 176
    Par défaut
    Salut Patrick ,

    de rien

  11. #11
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cuisiniste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2009
    Messages : 15 379
    Points : 12 075
    Points
    12 075
    Billets dans le blog
    8
    Par défaut re
    du coup vbpropercase a utiliser avec modération voir pas du tout ,c'est un coup dur pour le vieux vbiste que je suis

  12. #12
    Expert confirmé
    Homme Profil pro
    PAO
    Inscrit en
    Octobre 2014
    Messages
    2 576
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : PAO
    Secteur : Communication - Médias

    Informations forums :
    Inscription : Octobre 2014
    Messages : 2 576
    Points : 4 176
    Points
    4 176
    Par défaut
    c'est comme tout, tout dépend du contexte,
    si tu veux seulement que chaque 1è lettre soit en capital dans un mot/chaine de caractères qui se suit (sans espace),
    c'est vbpropercase qu'il faudra utiliser dans le cas contraire c'est Proper

  13. #13
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    627
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2010
    Messages : 627
    Points : 118
    Points
    118
    Par défaut
    merci RyuAutodidacte.l'explication est tres claire , le code de unparia est tres bien

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

Discussions similaires

  1. mettre en majuscule la premiere lettre d'un mot
    Par teophane dans le forum Requêtes
    Réponses: 5
    Dernier message: 18/11/2011, 13h54
  2. Premiere lettre de chaque mot en Majuscule
    Par dadouuuu dans le forum Débuter
    Réponses: 10
    Dernier message: 20/05/2009, 17h48
  3. Mettre en majuscule la première lettre d'un mot
    Par bobosh dans le forum Requêtes et SQL.
    Réponses: 6
    Dernier message: 05/09/2008, 07h55
  4. Premiere lettre de chaque mot en majuscule
    Par lili2704 dans le forum Langage
    Réponses: 4
    Dernier message: 13/06/2007, 14h51
  5. Mettre en majuscule le premier mot
    Par a.bott dans le forum VB.NET
    Réponses: 2
    Dernier message: 16/05/2007, 08h14

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