Forcer la majuscule sur la première lettre d'une cellule

Tybo

XLDnaute Junior
Bonjour à toutes et à tous,

je sais que le sujet a été traité et retraité mais je n'arrive pas à trouver une réponse qui me convienne sur les précédents posts.

J'aimerai obliger la saisie de la première lettre de toutes les cellules de toutes les feuilles de mon classeur tout en sachant que j'ai des données de validation dans la plupart de mes cellules.

Comment faire ??? merci
 

Tibo

XLDnaute Barbatruc
Re : Forcer la majuscule sur la première lettre d'une cellule

Bonjour Tybo, ici Tibo ;)

Par formule, on peut essayer avec ceci :

=EXACT(GAUCHE(A1);MAJUSCULE(GAUCHE(A1)))

retourne VRAI ou FAUX selon le cas

La formule peut être intégrée dans une validation.

Tu peux fusionner cette condition avec d'autres conditions dans ta validation. Ca risque cependant d'être peut-être un peu lourd.

@+
 

Tibo

XLDnaute Barbatruc
Re : Forcer la majuscule sur la première lettre d'une cellule

re,

C'est faisable avec une Validation personnalisée, mais pas avec une liste effectivement (du moins, à ma connaissance).


@+

Edit : En ce qui concerne les listes utilisées dans tes validations, il suffit qu'elles soient constituées correctement, c'est-à-dire avec des mots 1ère lettre majuscule et le reste minuscule.

@+
 
Dernière édition:

Gorfael

XLDnaute Barbatruc
Re : Forcer la majuscule sur la première lettre d'une cellule

Bonjour à toutes et à tous,

je sais que le sujet a été traité et retraité mais je n'arrive pas à trouver une réponse qui me convienne sur les précédents posts.

J'aimerai obliger la saisie de la première lettre de toutes les cellules de toutes les feuilles de mon classeur tout en sachant que j'ai des données de validation dans la plupart de mes cellules.

Comment faire ??? merci
Salut
Manque pas des mots dans ton sujet ?

Solution par macro : <Alt>+<F11> => tu passes sous VBEditor
En haut à gauche dans la fenêtre VB Project, tu double-cliques sur ThisWorkBook, et dans la partie droite, tu colles
Code:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
On Error GoTo Err_Workbook_SheetChange
Dim Cel As Range
Application.ScreenUpdating = False
Application.EnableEvents = False
For Each Cel In Target
    If VarType(Cel) = vbString Then Cel = UCase(Left(Cel, 1)) & Right(Cel, Len(Cel) - 1)
Next Cel
Sort_Workbook_SheetChange:
    Application.ScreenUpdating = True
    Application.EnableEvents = True
    Exit Sub
Err_Workbook_SheetChange:
    MsgBox Err.Description, vbCritical + vbOKOnly, "Erreur Excel n°" & Err.Number
    Resume Sort_Workbook_SheetChange
End Sub
S'il y a une modif des cellules sur une feuille quelconque du classeur, Excel lance la macro qui regarde le contenu de chacune des cellules modifiées, et si c'est du texte, met la première lettre en majuscules, sans toucher aux autres
A+
 

Monique

Nous a quitté
Repose en paix
Re : Forcer la majuscule sur la première lettre d'une cellule

Bonjour tous,

Pour saisir un nom qui n'est pas dans la liste :
3ème onglet de Données - Validation, décocher "Quand des données non valides sont tapées"

Comme alerte, on peut mettre ce format conditionnel
=EXACT(G2;NOMPROPRE(G2))=FAUX

Tybo, tu dis bien clients donc noms de famille ?
Et les noms composés ?

Le problème des noms à particule et des noms précédés de Le ou de L'
pas de majuscule à la particule "de " ou "du " ou "d'"
mais Le Rousic, Le Gall, L'Hostis : 2 majuscules

La formule du format conditionnel :
=EXACT(B2;SI((NB.SI(B2;"d"&"*"&" "&"*")+NB.SI(B2;"d"&"'"&"*"))*(ESTNUM(TROUVE(" ";B2))*3+(ESTNUM(TROUVE("'";B2))*2))>0;MINUSCULE(STXT(B2;1;(NB.SI(B2;"d"&"*"&" "&"*")+NB.SI(B2;"d"&"'"&"*"))*(ESTNUM(TROUVE(" ";B2))*3+(ESTNUM(TROUVE("'";B2))*2))));"")&NOMPROPRE(STXT(B2;(NB.SI(B2;"d"&"*"&" "&"*")+NB.SI(B2;"d"&"'"&"*"))*(ESTNUM(TROUVE(" ";B2))*3+(ESTNUM(TROUVE("'";B2))*2))+1;255)))=FAUX

Une partie de la formule est nommée (car trop longue), ça donne :
=EXACT(B2;SI(Repère>0;MINUSCULE(STXT(B2;1;Repère));"")&NOMPROPRE(STXT(B2;Repère+1;255)))=FAUX
 

Pièces jointes

  • MefcParticule.zip
    4 KB · Affichages: 93

Discussions similaires

Statistiques des forums

Discussions
312 490
Messages
2 088 873
Membres
103 980
dernier inscrit
grandmasterflash38