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 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 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 374
    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 374
    Billets dans le blog
    8
    Par défaut re
    bonsoir

    vbpropername
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  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
    je ne comprends pas trop votre réponse vbpropername

  4. #4
    Membre Expert
    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
    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), " _ " , "-")
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  5. #5
    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 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
    Expert confirmé
    Homme Profil pro
    aucune
    Inscrit en
    Avril 2016
    Messages
    7 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 84
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : aucune

    Informations forums :
    Inscription : Avril 2016
    Messages : 7 563
    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 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
    waoh trop fort unparia merci et bien sur un grand merci à RyuAutodidacte toujours présent sur le forum pour aider

  8. #8
    Membre Expert
    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
    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
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  9. #9
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    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 374
    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
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  10. #10
    Membre Expert
    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
    Par défaut
    Salut Patrick ,

    de rien
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  11. #11
    Inactif  

    Homme Profil pro
    cuisiniste
    Inscrit en
    Avril 2009
    Messages
    15 374
    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 374
    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
    mes fichiers dans les contributions:
    mail avec CDO en vba et mail avec CDO en vbs dans un HTA
    survol des bouton dans userform
    prendre un cliché d'un range

    si ton problème est résolu n'oublie pas de pointer : : ça peut servir aux autres
    et n'oublie pas de voter

  12. #12
    Membre Expert
    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
    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
    Cordialement
    Ryu

    La connaissance s’acquiert par l’expérience, tout le reste n’est que de l’information. – Albert Einstein

    Pensez à la Balise [ CODE][/CODE ] - à utiliser via le bouton # => Exemple

    Une fois votre problème solutionné pensez à mettre :resolu: en n'oubliant pas d'indiquer qu'elle est la solution finale choisie ;)

  13. #13
    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 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