Menu

Premiere Lettre en Majuscule [Résolu]

faisdlair 65 Messages postés vendredi 19 janvier 2018Date d'inscription 15 avril 2018 Dernière intervention - 1 févr. 2018 à 00:05 - Dernière réponse : faisdlair 65 Messages postés vendredi 19 janvier 2018Date d'inscription 15 avril 2018 Dernière intervention
- 3 févr. 2018 à 18:34
Bonjour,



Encore un petit souci

J'arrive pas a trouver comment mettre en Majuscule la premiere lettre de chaque mot seulement sur une colonne (colonne F)
le range serait f2-f1000
j'aimerais que ce soit une macro de preference

soir = Soir
bONJOUR = Bonjour
BONJOUR = Bonjour
sous-titres = Sous-Titres

merci
Afficher la suite 

Votre réponse

17 réponses

Patrice33740 6834 Messages postés dimanche 13 juin 2010Date d'inscription 20 mai 2018 Dernière intervention - Modifié par Patrice33740 le 1/02/2018 à 00:37
0
Utile
Bonjour,

Avec une simple formule :
=NOMPROPRE(MINUSCULE(F2))

Et avec une macro c'est pareil, y a juste à traduire. (l'enregistreur de macro est mon ami !)

Cordialement
Patrice
faisdlair 65 Messages postés vendredi 19 janvier 2018Date d'inscription 15 avril 2018 Dernière intervention - 1 févr. 2018 à 00:41
Merci pour ta réponse rapide.
Ce que je voulais dire, c'est que cette fonction se fasse automatiquement, sans rien faire
Est-ce possible que lorsque je copie du texte qui vient d'ailleurs, et que je le colle dans une cellule, la correction se fasse automatiquement

Je disais par une macro, mais je pense que par VBA serait préférable

merci

Martin
Patrice33740 6834 Messages postés dimanche 13 juin 2010Date d'inscription 20 mai 2018 Dernière intervention - 1 févr. 2018 à 00:44
Sous Excel, les macros c'est forcement du VBA !

Pour que ça se face tout seul, il faut utiliser l'évènement Change de la feuille concernée.
faisdlair 65 Messages postés vendredi 19 janvier 2018Date d'inscription 15 avril 2018 Dernière intervention - 1 févr. 2018 à 00:46
Merci

je suis assez novice coté Excel
Alors de quelle facon ou comment le faire`
Martin
Patrice33740 6834 Messages postés dimanche 13 juin 2010Date d'inscription 20 mai 2018 Dernière intervention - 1 févr. 2018 à 00:51
Si t'es novice, avant de te lancer dans la programmation VBA, apprends à te servir des possibilités d'excel.
La formule de je t'ai donné fera l'affaire.
Patrice33740 6834 Messages postés dimanche 13 juin 2010Date d'inscription 20 mai 2018 Dernière intervention - 1 févr. 2018 à 00:53
PS: Un excellent cours VBA pour débutants (et plus si affinités) :
ftp://ftp-developpez.com/bidou/Cours/VBA/formationVBA.pdf
Commenter la réponse de Patrice33740
Raymond PENTIER 45830 Messages postés lundi 13 août 2007Date d'inscriptionContributeurStatut 22 mai 2018 Dernière intervention - 1 févr. 2018 à 04:35
0
Utile
Autre approche du problème :
Copier-coller la colonne F dans Word
Appliquer l'outil Police/Modifier la casse pour "Première lettre en majuscule"
Copier-coller la liste ainsi modifiée dans Excel.
faisdlair 65 Messages postés vendredi 19 janvier 2018Date d'inscription 15 avril 2018 Dernière intervention - 1 févr. 2018 à 22:19
Merci, mais j'aimerais une formule ou une MFC ou en VBA, qui se ferait automatiquement.
Sans passer par autre chose
Commenter la réponse de Raymond PENTIER
cs_Le Pivert 5144 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 19 mai 2018 Dernière intervention - Modifié par cs_Le Pivert le 1/02/2018 à 08:15
0
Utile
Bonjour,

En vba se déclenche au double clic:

Option Explicit
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Value = "" Then Exit Sub
Target.Value = Application.WorksheetFunction.Proper(Target.Value) '1ere lettre majuscule
'Target.Value = LCase(Target.Value) 'minuscule
'Target.Value = UCase(Target.Value) 'majuscule
End Sub


Se mettre sur la feuille concernée faire Alt F11 et coller ce code

et pour adapter à une colonne voir ce site pour les boucles

https://www.developpez.net/forums/d605223/logiciels/microsoft-office/excel/contribuez/boucles-parcourir-colonne-ligne-plage-donnees-2-methodes/


faisdlair 65 Messages postés vendredi 19 janvier 2018Date d'inscription 15 avril 2018 Dernière intervention - 1 févr. 2018 à 22:22
Merci pour l'info.
J'ai bien regarder mais je ne vois pas comment intégrer a ton vba, une colonne par exemple F

merci
cs_Le Pivert 5144 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 19 mai 2018 Dernière intervention - 2 févr. 2018 à 08:05
Comme ceci, a adapter à ta colonne et ta feuille:

Sub For_X_to_Next_Ligne()
Dim FL1 As Worksheet, NoCol As Integer
Dim NoLig As Long, Var As Variant
Dim DLig As Long 'dernière ligne
DLig = Range("A1").End(xlDown).Row 'a adapter
    Set FL1 = Worksheets("Feuil1") 'a adapter
    NoCol = 1 'lecture de la colonne A a adapter
    For NoLig = 1 To DLig
        Var = FL1.Cells(NoLig, NoCol)
        FL1.Cells(NoLig, NoCol) = Application.WorksheetFunction.Proper(FL1.Cells(NoLig, NoCol)) '1ère lettre majuscule
     Next
    Set FL1 = Nothing
End Sub


Tu mets ce code dans un module et ensuite tu suis l'explication donnée sur ce site:

http://www.excel-plus.fr/vba/demvba/affecter-une-macro-a-un-bouton/

Voilà, c'est simple!


@+ Le Pivert
faisdlair 65 Messages postés vendredi 19 janvier 2018Date d'inscription 15 avril 2018 Dernière intervention - 2 févr. 2018 à 11:45
merci beaucoup
faisdlair 65 Messages postés vendredi 19 janvier 2018Date d'inscription 15 avril 2018 Dernière intervention - 3 févr. 2018 à 17:28
Ca marche parfaitement
Mais J'aimerais que quelques abbréviations ne soient pas converti

exemple

CCBN devient Ccbn j'aimerais garder CCBN
SAAQ devient Saaq j'aimerais garder SAAQ
SDC deveint Sdc j'aimerais garder SDC
etc

(Pierre) devient (pierre)
(On Répare) devient (on Répare)

Comment garder la premiere lettre en majuscule apres une parenthese



Comment ajouter a ce VBA ces exceptions

merci

Martin
Commenter la réponse de cs_Le Pivert
via55 9303 Messages postés mercredi 16 janvier 2013Date d'inscription 21 mai 2018 Dernière intervention - 3 févr. 2018 à 17:46
0
Utile
Bonjour

Dans une colonne de ta feuille vide (par exemple en colonne L) tu listes les abréviations à conserver en majuscules puis dans la macro tu remplaces la ligne
FL1.Cells(NoLig, NoCol) = Application.WorksheetFunction.Proper(FL1.Cells(NoLig, NoCol)) '1ère lettre majuscule
par celle ci:
If Application.WorksheetFunction.CountIf(Range("L:L"), Var) = 0 Then FL1.Cells(NoLig, NoCol) = Application.WorksheetFunction.Proper(Var) '1ère lettre majuscule

Cdlmnt
Via
faisdlair 65 Messages postés vendredi 19 janvier 2018Date d'inscription 15 avril 2018 Dernière intervention - 3 févr. 2018 à 18:09
J'ai bien mis les abbréviations dans la colonne L
CCBN
SAAQ
SDC
SAQ

mais en Colonne F , ces ABR. dans le texte ne sont pas corrigé

je viens de voir que si je corrige le texte en F, ca fonctionne

merci
Commenter la réponse de via55
via55 9303 Messages postés mercredi 16 janvier 2013Date d'inscription 21 mai 2018 Dernière intervention - 3 févr. 2018 à 18:32
0
Utile
La macro originelle corrige en colonne A
NoCol = 1 'lecture de la colonne A a adapter
On t'a bien dit de l'adapter à ton fichier si nécessaire
ce qui pour la colonne F donnerait NoCol = 6

Cdlmnt
faisdlair 65 Messages postés vendredi 19 janvier 2018Date d'inscription 15 avril 2018 Dernière intervention - 3 févr. 2018 à 18:34
J'ai bien NoCol = 6

ca fonctionne merci
Commenter la réponse de via55