Céllules saisie en majuscules ou minuscules passent automatiquement en nom

Bonjour à tous,

Sur un fichier concours de belote, en cellules B5 à B200, si je saisi tout en majuscule ou tout en minuscules, je voudrai que le nom passe automatiquement tout en majuscules et le ou les prénoms aient seulement la première lettre en majuscule. Je ne voudrai pas ajouter de colonnes car j'ai déjà du code VBA pour les inscriptions et classement.

La solution fonction NOMPROPRE nécessite une colonne supplémentaire, donc je voudrai l'éviter. Existe t'il un morceau de code VBA pour résoudre cette énigme ?

Ex :

Je saisi

DURAND SYLVAIN

Résultat DURAND Sylvain

ou

dupond jean claude

Résultat DUPOND Jean Claude

Merci pour votre aide

Bonjour Boby71c

C'est faisable avec du VBA, mais il vous faudra un peu de discipline dans la saisie

Pour "dupond jean-claude" par exemple

A+

Salut Boby,

premier jet.
Je pars du principe (francophone en tout cas) qu'un prénom composé a un tiret entre les différents prénoms donc s'il n'y a pas de tiret dans ces prénoms-là, il va y avoir des bugs!!!
Tu colles la macro dans le module de la feuille contenant les noms et tu cliques sur ces cellules.
On verra après pour automatiser l'affaire!

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
'
iSel = InStrRev(Target, " ")
sItem = Left(Target, iSel - 1)
sItem2 = Right(Target, Len(Target) - iSel)
Target = UCase(sItem) & " " & WorksheetFunction.Proper(sItem2)
'
End Sub


A+

BONJOUR curulis57

Merci de m'avoir zappé

Salut Bruno,

je te sens bien nerveux dans tes dernières interventions, à croire que tu prends toute "infraction" pour une affaire personnelle!

Je ne t'ai pas zappé : je n'avais pas vu ton intervention.
Puisque, maintenant, il faut se justifier entre nous, quand je poste une réponse, j'actualise d'abord la page, histoire de voir une éventuelle réponse qui serait publiée.
Le temps d'écrire ma réponse, corriger, charger, il se peut qu'une autre réponse arrive entretemps.
Comme cette version du forum ne nous signale plus cette info, il est normal qu'on puisse ne pas s'en rendre compte!

Relâche l'élastique, stp, et respire un grand coup!

Bien à toi,

A+

Bonjour à tous,

Merci pour vos interventions.

Réponse à curulis57, ça bug sur cette ligne :

sItem = Left(Target, iSel - 1)

Dès que je clic sur une cellule, il y a le bug. Il est nécessaire que je clic une seconde foi sur la cellule pour que ça se mette correctement.

Salut Boby,
Salut Bruno,

sans fichier, tu dois bien te rendre compte que nous travaillons à l'aveugle!!


A+

Pardonnez moi, voici le fichier

1noms-propres.xlsm (43.13 Ko)

Ah, évidemment, sans aucun nom à se mettre sous la dent !
Devrait être mieux ainsi : tape des noms en colonne [B:B] en respectant la règle des tirets pour les prénoms composés !
Attention : si tu colles une série de noms dans la colonne, ça devrait coincer!

Public Sub Maj_Noms(ByVal rCel As Range)
'
Dim iSel%, sItem1$, sItem2$
'
iSel = InStrRev(rCel, " ")
sItem = Left(rCel, iSel - 1)
sItem2 = Right(rCel, Len(rCel) - iSel)
rCel = UCase(sItem) & " " & WorksheetFunction.Proper(sItem2)
'
End Sub
1noms-propres.xlsm (44.79 Ko)


A+

Merci beaucoup, ça fonctionne bien.

C'est sûr, ne pas oublier le tiret.

Merci à tous

Bonne soirée

Rechercher des sujets similaires à "saisie majuscules minuscules passent automatiquement nom"