Premiere Lettre en Majuscule [Résolu]

faisdlair 19 Messages postés vendredi 19 janvier 2018Date d'inscription 3 février 2018 Dernière intervention - 1 févr. 2018 à 00:05 - Dernière réponse : faisdlair 19 Messages postés vendredi 19 janvier 2018Date d'inscription 3 février 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 

17 réponses

Répondre au sujet
Patrice33740 6716 Messages postés dimanche 13 juin 2010Date d'inscription 15 février 2018 Dernière intervention - Modifié par Patrice33740 le 1/02/2018 à 00:37
0
Utile
5
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 19 Messages postés vendredi 19 janvier 2018Date d'inscription 3 février 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 6716 Messages postés dimanche 13 juin 2010Date d'inscription 15 février 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 19 Messages postés vendredi 19 janvier 2018Date d'inscription 3 février 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 6716 Messages postés dimanche 13 juin 2010Date d'inscription 15 février 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 6716 Messages postés dimanche 13 juin 2010Date d'inscription 15 février 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 45091 Messages postés lundi 13 août 2007Date d'inscriptionContributeurStatut 14 février 2018 Dernière intervention - 1 févr. 2018 à 04:35
0
Utile
1
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 19 Messages postés vendredi 19 janvier 2018Date d'inscription 3 février 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 4902 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 14 février 2018 Dernière intervention - Modifié par cs_Le Pivert le 1/02/2018 à 08:15
0
Utile
4
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 19 Messages postés vendredi 19 janvier 2018Date d'inscription 3 février 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 4902 Messages postés jeudi 13 septembre 2007Date d'inscriptionContributeurStatut 14 février 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 19 Messages postés vendredi 19 janvier 2018Date d'inscription 3 février 2018 Dernière intervention - 2 févr. 2018 à 11:45
merci beaucoup
faisdlair 19 Messages postés vendredi 19 janvier 2018Date d'inscription 3 février 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 9043 Messages postés mercredi 16 janvier 2013Date d'inscription 14 février 2018 Dernière intervention - 3 févr. 2018 à 17:46
0
Utile
1
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 19 Messages postés vendredi 19 janvier 2018Date d'inscription 3 février 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 9043 Messages postés mercredi 16 janvier 2013Date d'inscription 14 février 2018 Dernière intervention - 3 févr. 2018 à 18:32
0
Utile
1
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 19 Messages postés vendredi 19 janvier 2018Date d'inscription 3 février 2018 Dernière intervention - 3 févr. 2018 à 18:34
J'ai bien NoCol = 6

ca fonctionne merci
Commenter la réponse de via55