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 :

Imposer majuscules en VBA


Sujet :

Macros et VBA Excel

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut Imposer majuscules en VBA
    Bonjour à tous,

    Voici ma question. Dans un formulaire 2 zones de texte (TxtLib et TxtVil). Je souhaites que le texte soit mis en majuscule impérativement. Si l'utilisateur saisie en minuscules lors de la validation le texte doit être transformé en majuscules. Est-ce possible ? Comment dois-je procéder ?
    Merci par avance

  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 682
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Canada

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

    Informations forums :
    Inscription : Juillet 2007
    Messages : 14 682
    Par défaut
    bonjour,
    regarde du côté de la fonction UCASE() (pour les majuscules) et LCASE() (pour les minuscules)
    Cycle de vie d'un bon programme :
    1/ ça fonctionne 2/ ça s'optimise 3/ ça se refactorise

    Pas de question technique par MP, je ne réponds pas

    Mes ouvrages :
    Migrer les applications VBA Access et VBA Excel vers la Power Platform
    Apprendre à programmer avec Access 2016, Access 2019 et 2021

    Apprendre à programmer avec VBA Excel
    Prise en main de Dynamics 365 Business Central

    Coffrets disponibles de mes ouvrages : https://www.editions-eni.fr/jean-philippe-andre
    Pensez à consulter la FAQ Excel et la FAQ Access

    Derniers tutos
    Excel et les paramètres régionaux
    Les fichiers Excel binaires : xlsb,

    Autres tutos

  3. #3
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Citation Envoyé par jpcheck Voir le message
    bonjour,
    regarde du côté de la fonction UCASE() (pour les majuscules) et LCASE() (pour les minuscules)
    Bonjour,
    Ok je regarde par là.
    Merci pour ta réponse

    J'ai vu, j'ai lu, mais je ne sais pas comment l'appliquer.
    Il y a également une fonction VbProperCase qui permet de transformer la 1ère lettre en majuscule. Mais tout cela je ne sais pas l'encoder. J'ai trouvé des idées, lorsque je les applique, mon application crie de partout.
    De plus, je souhaite que cela soit complétement transparent pour l'utilisateur.
    Il valide, et la convertion se fait.
    Merci pour votre aide

  4. #4
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    J'ai trouvé. J'ai tapé ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Private Sub TxtLib_AfterUpdate()
    Me.TxtLib = UCase(TxtLib)
    End Sub
     
    Private Sub TxtVil_AfterUpdate()
    Me.TxtVil = UCase(TxtVil)
    End Sub
    Par contre comment faire pour que seule la première lettre soit en majuscule ?

  5. #5
    Expert confirmé

    Avatar de Maxence HUBICHE
    Homme Profil pro
    Développeur SQLServer/Access
    Inscrit en
    Juin 2002
    Messages
    3 842
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Développeur SQLServer/Access

    Informations forums :
    Inscription : Juin 2002
    Messages : 3 842
    Par défaut
    le vbProperCase n'est pas une fonctin, mais une constante qui permet de déterminer la transformation d'une chaine avec la fonctino strConv. on l'utilise comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub TxtVil_AfterUpdate()
        Me.TxtVil = strconv(Me.txtVil,vbProperCase)
    End Sub

  6. #6
    Membre éprouvé
    Homme Profil pro
    Assistant aux utilisateurs
    Inscrit en
    Septembre 2007
    Messages
    1 896
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 64
    Localisation : France

    Informations professionnelles :
    Activité : Assistant aux utilisateurs
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Septembre 2007
    Messages : 1 896
    Par défaut
    Citation Envoyé par Maxence HUBICHE Voir le message
    le vbProperCase n'est pas une fonctin, mais une constante qui permet de déterminer la transformation d'une chaine avec la fonctino strConv. on l'utilise comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    Private Sub TxtVil_AfterUpdate()
        Me.TxtVil = strconv(Me.txtVil,vbProperCase)
    End Sub
    Bonjour,

    Super ça marche. Vous êtes tous des champions. Par contre, si j'écris plusieurs mots, par exemple (recherche de gaz), chaque mot prend la première lettre en majuscule. Comment résoudre ce problème ?
    Merci par avance

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

Discussions similaires

  1. [XL-2003] Imposer 1ere lettre majuscule dans cellule via VBA
    Par medino55 dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 03/07/2011, 03h34
  2. [VBA-E] mettre en majuscule une chaine string en vba
    Par ludo02 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 06/03/2007, 23h34
  3. [VBA - E]Prendre en compte les lettres majuscules et minuscules
    Par alex_elder1_1 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 15/12/2006, 15h52
  4. [VBA Excel] Forcer les majuscules
    Par Viper7 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 27/06/2006, 12h12
  5. Réponses: 1
    Dernier message: 27/01/2006, 13h11

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