Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

XL 2019 Texte dans Excel

bpautal

XLDnaute Nouveau
Bonjour à Tous,
Mon problème est le suivant :
J'ai beaucoup de mots à rentrer dans un tableau Excel et chaque mot doit avoir sa première lettre en majuscule.
Est-ce qu'il y a un moyen pour que cette lettre soit automatiquement mise en majuscule sans qu'on ai besoin de faire "MAJ" + lettre.
C'est fatiguant à la longue !
Merci de votre réponse.
Bien cordialement,
B. Pautal
 

Dranreb

XLDnaute Barbatruc
Bonjour
Ça, dans le module de l'objet Worksheet de la feuille :
VB:
Worksheet_Change(ByVal Target As Range)
   If VarType(Target.Value) = vbString Then Target.Value _
      = WorksheetFunction.Proper(Target.Value)
   End Sub
 

bpautal

XLDnaute Nouveau
Bonjour et merci à Tous de vos réponses.
Mais je suis un neophyte en la matière. Alors soyez gentils, expliquez moi en détail.
Je ne connais pas du tout "Power Query".
Et il semble qu'il y ai une erreur de syntaxe dans le code de Danreb: ou c'est moi qui ne comprend pas la procédure.
Bien amicalement,
BP
 

JHA

XLDnaute Barbatruc
Bonjour à tous,

Avec un fichier exemple tu aurais eu une réponse plus précise.

JHA
 

Pièces jointes

  • Classeur bpautal.xlsx
    17.1 KB · Affichages: 2
  • Classeur bpautal.xlsm
    22.1 KB · Affichages: 2

Dranreb

XLDnaute Barbatruc
Oups. J'ai fait sauter le début à la copie …
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
   If VarType(Target.Value) = vbString Then Target.Value _
      = WorksheetFunction.Proper(Target.Value)
   End Sub
 

bpautal

XLDnaute Nouveau
Merci à Tous,
J'ai retenu le code de Dranreb. Ca fonctionne parfaitement. Mais juste une petite chose : je programme depuis toujours ou presque en Windev c'est-à-dire en français. Je suis donc totalement ignare en code anglais.
Alors peux-tu m'expliquer en français le process ?
Merci d'avance et merci aussi à JHA même si je n'ai rien compris à la démo.
Bien amicalement,
BP
 

patricktoulon

XLDnaute Barbatruc
Bonjour

evenement privé (cellule change)de la feuille dans le quel se trouve le code
VB:
Private Sub Worksheet_Change(ByVal Target As Range)

si le vb type de la target(cellule) est du texte alors targetvalue _
= la valeur de target en nompropre avec la fonction proper de excel
Code:
If VarType(Target.Value) = vbString Then Target.Value _
= WorksheetFunction.Proper(Target.Value)

fin de sub event change
Code:
end sub
 

job75

XLDnaute Barbatruc
Bonjour
Il faudrait utiliser les Application.EnableEvents = False/True.

En effet chez moi le code boucle et se répète 47 fois avant de s'arrêter

C'est classique avec une Worksheet_Change.

A+
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…