Majuscules

titiraf

XLDnaute Nouveau
Bonjour,

Je souhaiterais pour une colonne faire en sorte que lorsque je saisis un mot, que la cellule le transforme automatiquement en majuscule ou nom propre.
Pourriez vous ùme dire comment faire.
Merci infiniment
Thierry
 

Magic_Doctor

XLDnaute Barbatruc
Re : Majuscules

Bonsoir à tous,

Je ne comprends pas....
pascaldurhone, télécharges le fichier que j'ai joint au message précédant le tien, et ton voeu sera exaucé et même au-delà... grâce à des fonctions + macro événementielle.
TOUT EST AUTOMATIQUE, que demander de plus ?
Mieux vaut un bon exemple que d'interminables explications. Télécharge le fichier.
Mais si tu ne télécharges rien, au moins par curiosité, alors...

Bonne soirée quand même
 

Magic_Doctor

XLDnaute Barbatruc
Re : Majuscules

rebonsoir pascaldurhone

J'avais mal lu ton message
Tu écris saucisson dans la 3ème colonne, tu valides par Exe ou tu vas tout simplement vers une autre cellule et automatiquement saucisson se transforme en SAUCISSON.
La 1ère colonne c'est pour des noms propres : john mcintosh de la vigne donnera John McIntosh de la Vigne
La 2ème colone, seule la 1ère lettre sera en majuscule et tout le reste en minuscule
Et voilou !
 

fred65200

XLDnaute Impliqué
Re : Majuscules

bonsoir,

juste un petit mot pour Magic_Doctor.

Tu peux utiliser la fonction Trim native d'Excel qui supprime les espaces superflus, même à l'intérieur d'un chaîne, contrairement à Trim de VBA qui ne supprime que les espaces gauche et droit de la chaîne.
Code:
    np = Application.Trim(LCase(Chaîne.Value))
à la place de
Code:
    np = LCase(Chaîne.Value)
    
    EspacesDoubles = Chr(32) & Chr(32)
    temp = Trim(np)
    Do Until InStr(temp, EspacesDoubles) = 0
        temp = Replace(temp, EspacesDoubles, Chr(32))
    Loop
    
    np = temp
cordialement
 

pascaldurhone

XLDnaute Nouveau
Re : Majuscules

bonjour,

décidément: vais je y arriver ?

pour APT: j ouvre ton fichier joint :j ai la cellule B1 en jaune et le texte MAJ dedans. bien mais alors ? que dois-je faire ? je suis sous excel 2003 et strictement rien ne se passe.
je réitère ma demande: comment, pas à pas , doit on procéder ?:confused:
lire mes 2 msg précédents,svp.
HELP:(
je vous remercie de votre compréhension.
 

Magic_Doctor

XLDnaute Barbatruc
Re : Majuscules

Bonjour,

Tout d'abord je tiens à remercier fred de ses toujours précieux conseils.
Décidément tu me l'auras sérieusement simplifié cette fonction ! Et je dois reconnaître que je la trouve de plus en plus belle !!!
En quelques phrases et le tour est joué !
Bon, je pense que ces fonctions pourront être des perles pour les secrétaires lasses d'écrire des noms et des prénoms...
 

Magic_Doctor

XLDnaute Barbatruc
Re : Majuscules

Bonjour pascaldurhone,

1/ Retélécharge le fichier ci-joint.
2/ Habilite les macros dans Excel si d'aventure elles ne l'étaient pas.
3/ Ouvre le fichier.
4/ Ecris (tout en minuscule !), dans une cellule vierge de la première colonne le prénom et le nom de qui tu voudras
5/ Ecris ce que tu voudras dans les 2ème et 3ème colonnes

TU NE PENSES À RIEN, TOUT SE FAIT AUTOMATIQUEMENT. On ne peut pas faire plus simple et plus convivial !

PS : j'ai rajouté un petit plus du cru de fred qui encadre en bleu (mais on peut choisir une autre couleur) chaque cellule sélectionnée.

Je pense qu'il n'y a aucune raison pour que ça ne fonctionne pas.
 

Pièces jointes

  • Exemple3ColonnesAmélioré.xls
    47 KB · Affichages: 74

pascaldurhone

XLDnaute Nouveau
Re : Majuscules

rebonjour aux forumeurs, à Jean Pierre, à Magic Doctor,

j ai bien sur téléchargé le fichier de Magic Doctor : absolument rien ne marche:
j ai beau saisir dans la 3eme colonne saucisson, rien du tout, dans n i mporte quelle cellule d ailleurs: cela reste en minuscule.....

pour J Pierre: oui, pour le fichier de APT je crois, je saisis bien en B2 !
en B4 ou B 12: nada !

en fait, je ne maitrise pas leS MACROS , le VBA: mais si l on m explique TOUT ce qu il faut faire pas à pas : je suis preneur!

mais surtout surtout: y a t il bcp plus simple sans macro, c a d avec la fonction MAJUSCULE: comment fait on précisément:
mon exemple: je veux du texte en Majuscule dans la colonne C (déjà remplie ou à remplir on s en fout):je saisis dans une cellule de C puis je valide et j obtiens le meme texte en MAJUSCULES.

quelle est donc la marche à suivre :

Moi qui croyais que c était archi simple ce type de requete dans excel: chuis vraiment déçu et meme plutot :mad: C est le coté un peu obscur mais j y arriverai...

Un grand merci pour votre aide:)

p@sc@l
 

jeanpierre

Nous a quitté
Repose en paix
Re : Majuscules

Re,

As-tu bien activé les macros à l'ouverture ?

Regardes si ton niveau de sécurité n'est pas trop haut, le mettre sur moyen. Je crois que d'office, sous 2003, il est à haut....

Outils/Macros/Sécurité... et là tu coches moyen.

Tu enregistres ton fichier, tu le fermes et à la prochaine ouverture, c'est bon

Tu nous dis.
 
Dernière édition:

chris427

XLDnaute Junior
Re : Majuscules

Bonjour à tous,

Je reprends car la macro est absolument ce que je cherche.

Par contre, je ne vois pas la macro sur le fichier excel joint dans le sujet.
C'est peut-être parce que le système ici bloque toute macro provenant de l'extérieur.
Quelqu'un pourrait-il me la copier-coller ici ou la mettre sur un document .txt ?

Merci à vous,

Chris
 

fred65200

XLDnaute Impliqué
Re : Majuscules

bonjour

voilà
Dans un module de code
Code:
Option Explicit
Public Function FirstLetterMaj(Nom_Prénom As Range)

Dim Morceaux() As String, np As String, s As String
Dim i As Integer, tabParticules As Variant

tabParticules = Array("de", "del", "la", "las", "los", "da", "do", "di", "van", "von", "der")
    
    np = Application.Trim(LCase(Nom_Prénom.Value))
    
    Morceaux = Split(np, " ")
    For i = LBound(Morceaux) To UBound(Morceaux)
        If Not IsError(Application.Match(Morceaux(i), tabParticules, 0)) Then
            s = s & (Morceaux(i)) & " "
        ElseIf Left(Morceaux(i), 2) = "d'" Then
            Morceaux(i) = "d'" & UCase(Mid(Morceaux(i), 3, 1)) & Right(Morceaux(i), Len(Morceaux(i)) - 3)
            s = s & (Morceaux(i)) & " "
        ElseIf Left(Morceaux(i), 2) = "mc" Then
            Morceaux(i) = "Mc" & UCase(Mid(Morceaux(i), 3, 1)) & Right(Morceaux(i), Len(Morceaux(i)) - 3)
            s = s & (Morceaux(i)) & " "
        Else
            s = s & WorksheetFunction.Proper(Morceaux(i)) & " "
        End If
    Next
  FirstLetterMaj = Trim(s)
End Function
Public Function DébutEnMajuscule(Chaîne As Range)

Dim np As String

    np = Application.Trim(LCase(Chaîne.Value))
  
  np = UCase(Left(np, 1)) & Right(np, Len(np) - 1)
  DébutEnMajuscule = np
End Function
Dans le module de feuiille

Code:
Option Explicit
Private Sub Worksheet_Change(ByVal Target As Range)

Application.ScreenUpdating = False
Application.EnableEvents = False

On Error GoTo fin

If Not Intersect(Target, Range("Colonne1")) Is Nothing Then
    Target = FirstLetterMaj(Target)
End If

If Not Intersect(Target, Range("Colonne2")) Is Nothing Then
    Target = DébutEnMajuscule(Target)
End If

If Not Intersect(Target, Range("Colonne3")) Is Nothing Then
    Target = UCase(Target)
End If

fin:

Application.ScreenUpdating = True
Application.EnableEvents = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
On Error Resume Next
    ActiveSheet.Shapes("maCellule").Delete
On Error GoTo 0
    With Target
    ActiveSheet.Shapes.AddShape(msoShapeRectangle, .Left, .Top, .Width, .Height).Name = "maCellule"
    End With
    With ActiveSheet.Shapes("maCellule")
        .Fill.Visible = msoFalse
       ' .Fill.Transparency = 0#
        With .Line
        .Visible = True: .Weight = 3#: .ForeColor.SchemeColor = 12 'bleu
        End With
    End With
End Sub
cordialement
 

lE0nard

XLDnaute Junior
Re : Majuscules

Bonjour à tous, le Forum,
La solution du débutant de chez débutant que je suis est de sélectionner sur ta feuille une police qui ne saisie qu'en majuscule ;copperplate gothic light par exemple.
tout ce que tu taperas en minuscule apparaîtra ainsi en majuscules..

a+
 

Discussions similaires

Réponses
2
Affichages
182

Statistiques des forums

Discussions
312 321
Messages
2 087 243
Membres
103 497
dernier inscrit
JP9231