• Initiateur de la discussion Initiateur de la discussion TONY21
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

TONY21

XLDnaute Nouveau
Bonjour à tous

Un problème tout bête (pour moi certainement)

Je ne peut mettre une majuscule automatiquement dans une cellule

J'ai rechercher dans les options ou dans l'aide, mais j'ai pas trouver mon bonheur

si quelqu'un pouvais me données la solution

Merci

@ +
Tony 21
 
Re : Majuscule

bonjour tout le monde 🙂

Application.Proper(Target)

en vba on peut tres bien utiliser les fonctions natives d'excel, exemple :

MsgBox Application.Sum(10 + 5)

ce code renvoi 15, on à simplement utilisé la fonction somme() dans vba.

proper est la traduction anglaise de la fonction NOMPROPRE()


voilà pour l'explication de proper.

salut
 
Re : Majuscule

bonjour Tony21
Salut mjo RICO1972 Jacques87

une autre macro pour l'initiale en majuscule

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Value = UCase(Left(Target.Value, 1)) & Right(Target.Value, Len(Target.Value) - 1)
End Sub

valable pour toute la feuille

si tu veux restreindre a certaines cellules reviens pour preciser lesquelles
Bonjour
Si je veux appliquer ton code uniquement à la colonne «G». G2 jusqu'à la dernière ligne remplie.

ton support est apprécié!
 
Bonsoir duplaly, le fil,
Si je veux appliquer ton code uniquement à la colonne «G». G2 jusqu'à la dernière ligne remplie
Pour éviter à pierrejean de se fatiguer :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If FilterMode Then ShowAllData 'si la feuille est filtrée
Set Target = Intersect(Target, Range("G2", Range("G" & Rows.Count).End(xlUp)))
If Target Is Nothing Then Exit Sub
Application.EnableEvents = False 'désactive les évènements
For Each Target In Target 'si entrées multiples
    Target = Application.Proper(Target) 'NOMPROPRE
Next
Application.EnableEvents = True 'réactive les évènements
End Sub
A+
 
Bonsoir duplaly, le fil,

Pour éviter à pierrejean de se fatiguer :
VB:
Private Sub Worksheet_Change(ByVal Target As Range)
If FilterMode Then ShowAllData 'si la feuille est filtrée
Set Target = Intersect(Target, Range("G2", Range("G" & Rows.Count).End(xlUp)))
If Target Is Nothing Then Exit Sub
Application.EnableEvents = False 'désactive les évènements
For Each Target In Target 'si entrées multiples
    Target = Application.Proper(Target) 'NOMPROPRE
Next
Application.EnableEvents = True 'réactive les évènements
End Sub
A+
Un grand merci car le code fonctionne Nikel.

Toujours avec le même principe jusqu'à la dernière ligne remplie, comment est-ce que je pourrais arranger ce code:
Range("B4:B60") = [INDEX(UPPER(B4:B60),)]
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
10
Affichages
556
Réponses
7
Affichages
401
Retour