Première lettre d'un mot en majuscule
Résolu/Fermé
gigipong
Messages postés
118
Date d'inscription
samedi 27 avril 2013
Statut
Membre
Dernière intervention
26 mai 2024
-
7 juin 2021 à 22:11
gigipong Messages postés 118 Date d'inscription samedi 27 avril 2013 Statut Membre Dernière intervention 26 mai 2024 - 9 juin 2021 à 22:53
gigipong Messages postés 118 Date d'inscription samedi 27 avril 2013 Statut Membre Dernière intervention 26 mai 2024 - 9 juin 2021 à 22:53
A voir également:
- Excel première lettre de chaque mot en majuscule
- Telecharger macro convertir chiffre en lettre excel - Télécharger - Tableur
- Liste déroulante excel - Guide
- Mise en forme conditionnelle excel - Guide
- Voir mot de passe wifi android - Guide
- Si et excel - Guide
7 réponses
ozone_
Messages postés
1518
Date d'inscription
lundi 13 juillet 2009
Statut
Membre
Dernière intervention
2 juin 2023
478
7 juin 2021 à 22:18
7 juin 2021 à 22:18
Bonjour,
Voici une solution possible à placer dans une feuille :
Source: https://stackoverflow.com/questions/59113711/vba-how-to-use-vbpropercase-to-capitalize-the-first-letter-but-keep-every-other
Voici une solution possible à placer dans une feuille :
Private Sub Worksheet_Change(ByVal Target As Range)
Dim text As String
text = Target.Value
Target.Value = UCase(Left(text, 1)) + Mid(text, 2, Len(text))
End Sub
Source: https://stackoverflow.com/questions/59113711/vba-how-to-use-vbpropercase-to-capitalize-the-first-letter-but-keep-every-other
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié le 8 juin 2021 à 08:25
Modifié le 8 juin 2021 à 08:25
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
Modifié le 8 juin 2021 à 15:02
Modifié le 8 juin 2021 à 15:02
errata
PapyLuc51
Messages postés
4400
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
20 novembre 2024
1 445
8 juin 2021 à 11:22
8 juin 2021 à 11:22
Salut à tous
J'ai essayé ce code qui fonctionne très bien sur la 1ere lettre.
Qu'en est-il lorsqu'il s'agit d'un prénom composé? rajouter un bout de code (moi, je n'y connais rien)
Sinon il existe la fonction NOMPROPRE() qui évite de faire une liste.
cordialement
J'ai essayé ce code qui fonctionne très bien sur la 1ere lettre.
Qu'en est-il lorsqu'il s'agit d'un prénom composé? rajouter un bout de code (moi, je n'y connais rien)
Sinon il existe la fonction NOMPROPRE() qui évite de faire une liste.
cordialement
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
8 juin 2021 à 15:43
8 juin 2021 à 15:43
Salut Papy
avec plusieurs prénoms composés
avec plusieurs prénoms composés
Option Explicit
'---------------------------------------------------
Private Sub Worksheet_Change(ByVal Target As Range)
Dim Separ, Prenom As String, Cptr As Byte
If Not Intersect(Target, Columns("B")) Is Nothing Then
Application.EnableEvents = False 'interdit le réamorcage de la macro
Separ = Split(Target, "-")
For Cptr = 0 To UBound(Separ)
Prenom = Prenom & Separ(Cptr)
If Cptr < UBound(Separ) Then Prenom = Prenom & "-"
Next
Target = Application.Proper(Prenom)
End If
Application.EnableEvents = True
End Sub
'---------------------------------------------------------------------------------------------------------------------------------------------------
Sub sos_events()
'Au cas où on sort de la macro avant enableevents=true,Les macros ne peuvent plus fonction dans Excel!!!!!
'cette macro réhabilite le fonctionnement: A CONSERVER PRECIEUSEMENT
Application.EnableEvents = True
End Sub
michel_m
Messages postés
16603
Date d'inscription
lundi 12 septembre 2005
Statut
Contributeur
Dernière intervention
16 décembre 2023
3 310
8 juin 2021 à 15:01
8 juin 2021 à 15:01
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
gigipong
Messages postés
118
Date d'inscription
samedi 27 avril 2013
Statut
Membre
Dernière intervention
26 mai 2024
1
7 juin 2021 à 22:24
7 juin 2021 à 22:24
Bonjour Ozone,
j'ai créé cette macro, mais pas de résultat.
j'ai loupé quelque chose ?
j'ai créé cette macro, mais pas de résultat.
j'ai loupé quelque chose ?
ozone_
Messages postés
1518
Date d'inscription
lundi 13 juillet 2009
Statut
Membre
Dernière intervention
2 juin 2023
478
7 juin 2021 à 22:32
7 juin 2021 à 22:32
Cette macro est-elle bien placée dans la feuille concernée ? (Souvent l'onglet Feuil1)
gigipong
Messages postés
118
Date d'inscription
samedi 27 avril 2013
Statut
Membre
Dernière intervention
26 mai 2024
1
>
ozone_
Messages postés
1518
Date d'inscription
lundi 13 juillet 2009
Statut
Membre
Dernière intervention
2 juin 2023
7 juin 2021 à 22:36
7 juin 2021 à 22:36
elle est bien placée, mais j'ai ce message : erreur de compilation : nom ambigu détecté : Worksheet _Change
Raymond PENTIER
Messages postés
58726
Date d'inscription
lundi 13 août 2007
Statut
Contributeur
Dernière intervention
19 novembre 2024
17 243
7 juin 2021 à 23:39
7 juin 2021 à 23:39
Bonjour.
Ce que tu veux faire, c'est une fonctionnalité des traitements de texte ; pas des tableurs.
Par conséquent tu dois copier-coller ta liste dans Word, utiliser l'outil "Modifier la casse", et de nouveau faire un copier-coller, mais cette fois de Word vers Excel.
Le mieux, bien entendu, est de saisir correctement les prénoms dès le départ !
Ce que tu veux faire, c'est une fonctionnalité des traitements de texte ; pas des tableurs.
Par conséquent tu dois copier-coller ta liste dans Word, utiliser l'outil "Modifier la casse", et de nouveau faire un copier-coller, mais cette fois de Word vers Excel.
Le mieux, bien entendu, est de saisir correctement les prénoms dès le départ !
gigipong
Messages postés
118
Date d'inscription
samedi 27 avril 2013
Statut
Membre
Dernière intervention
26 mai 2024
1
8 juin 2021 à 11:27
8 juin 2021 à 11:27
Bonjour,
Je vous remercie tous pour vos messages, mais quand j'essaie la solution de Michel, j'ai à nouveau ce message :
erreur de compilation : nom ambigu détecté : Worksheet _Change
Je pense faire correctement mais ....
Je vous remercie tous pour vos messages, mais quand j'essaie la solution de Michel, j'ai à nouveau ce message :
erreur de compilation : nom ambigu détecté : Worksheet _Change
Je pense faire correctement mais ....
ozone_
Messages postés
1518
Date d'inscription
lundi 13 juillet 2009
Statut
Membre
Dernière intervention
2 juin 2023
478
8 juin 2021 à 13:40
8 juin 2021 à 13:40
Tu dois déjà avoir une instruction Worksheet_change présente dans la feuille.
Vois pour les regrouper
Vois pour les regrouper
gigipong
Messages postés
118
Date d'inscription
samedi 27 avril 2013
Statut
Membre
Dernière intervention
26 mai 2024
1
>
ozone_
Messages postés
1518
Date d'inscription
lundi 13 juillet 2009
Statut
Membre
Dernière intervention
2 juin 2023
8 juin 2021 à 19:03
8 juin 2021 à 19:03
Bonjour,
je me suis absenté un peu, je reviens.
Effectivement, j'ai déjà une instruction Worksheet...
Qui est la suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 6 And Target.Value = 0 Then
ActiveSheet.Unprotect "w"
Cells(Target.Row, 1).Resize(, 8).Locked = True
ActiveSheet.Protect "w"
End If
End Sub
Et bien entendu, je ne sais pas les regrouper !
Encore un peu d'aide ?
Merci
je me suis absenté un peu, je reviens.
Effectivement, j'ai déjà une instruction Worksheet...
Qui est la suivante :
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 6 And Target.Value = 0 Then
ActiveSheet.Unprotect "w"
Cells(Target.Row, 1).Resize(, 8).Locked = True
ActiveSheet.Protect "w"
End If
End Sub
Et bien entendu, je ne sais pas les regrouper !
Encore un peu d'aide ?
Merci
ozone_
Messages postés
1518
Date d'inscription
lundi 13 juillet 2009
Statut
Membre
Dernière intervention
2 juin 2023
478
>
gigipong
Messages postés
118
Date d'inscription
samedi 27 avril 2013
Statut
Membre
Dernière intervention
26 mai 2024
8 juin 2021 à 20:11
8 juin 2021 à 20:11
He bien je propose cette solution pour tout regrouper :
Je reprends la solution de michel_m car bien plus simple que ma proposition du début.
Et pour info, l'instruction peut être mise avant ou après la condition déjà présente (If/End If)
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 6 And Target.Value = 0 Then
ActiveSheet.Unprotect "w"
Cells(Target.Row, 1).Resize(, 8).Locked = True
ActiveSheet.Protect "w"
End If
ActiveCell = Application.proper(ActiveCell)
End Sub
Je reprends la solution de michel_m car bien plus simple que ma proposition du début.
Et pour info, l'instruction peut être mise avant ou après la condition déjà présente (If/End If)
PapyLuc51
Messages postés
4400
Date d'inscription
dimanche 3 mai 2009
Statut
Membre
Dernière intervention
20 novembre 2024
1 445
8 juin 2021 à 13:53
8 juin 2021 à 13:53
J'ai procédé comme ceci pour entrer le code
clic droit sur l'onglet de la feuille / visualiser le code / coller dans la fenêtre qui s'ouvre
Cordialement
clic droit sur l'onglet de la feuille / visualiser le code / coller dans la fenêtre qui s'ouvre
Cordialement
Modifié le 9 juin 2021 à 22:57
Cette solution me convient parfaitement et répond à mon besoin.
Par contre, ça ne fonctionne pas avec les prénoms composés, mais sur 99 saisies, il n'y en a que 2, donc négligeable.
Et je n'arrive pas à utiliser la solution de michel_m qui répondait à la question de PapyLuc.
Merci à tous pour vos solutions et vos remarques qui m'ont bien aidées.