Rechercher : dans
Par :

[Excel] Majuscule sur la première lettre

Dernière réponse le 27 jui 2009 à 12:07:46 BB, le 6 fév 2006 à 17:07:30 
 Signaler ce message aux modérateurs

Bonjour,
lorsqu'on insère du texte dans excel, y'a-t-il un moyen pour que la première lettre de chaque cellule soit mise automatiquement en majuscule?
J'ai regardé dans outils/options/orthographe mais n'y ai rien trouvé le permettant. Une astuce peut-être?
D'avance merci pour votre aide!

Configuration: Excel 2003
Windows XP

Meilleures réponses pour « [Excel] Majuscule sur la première lettre » dans :
Sed - Mettre la première lettre de chaque mot en majuscule VoirCapitaliser la 1ère lettre de chaque mot Voici deux façons de procéder : Méthode 1 sed -r 's/(^.| .)/\U&/g' Méthode 2 sed 's/^.\| [a-z]/\U&/g' Méthode 3 sed -r 's/\
Sed - Mettre la première lettre d'un mot en majuscule VoirCapitaliser la 1ère lettre d'un mot (ou d'une phrase) Gsed 4.0 et supérieur sed 's/^./\u&/'Exemples :$ echo "bonjour la vie" | sed 's/^./\u&/' Bonjour la vie $ echo -e "bonjour la vie\net bonjour à toi" | sed 's/^./\u&/' Bonjour la vie Et...
Les classes de style (CSS) VoirLes classes et les ID Les classes Il peut s'avérer intéressant d'affecter des styles différents à des mêmes balises. Pour cela les spécifications CSS ont introduit le concept de classe. La définition des classes est aussi simple que celles des...
Tableur - La sélection des cellules VoirSélection de cellules Le tableur est un formidable outil pour manipuler des données. Ainsi, pour pouvoir manipuler les données il est nécessaire de disposer d'outils permettant de sélectionner rapidement toutes les cellules dont on a...

1

sardine-à l'huile, le 6 fév 2006 à 17:27:24

Salut
bah ça parait bete mais non, il existe des fonctions mais qui mettront une majuscule à CHAQUE mot, ou tout en capitales.
En fait, c'est excel et pas word, ce n'est pas un traitement de texte.

Joel Ad augusta per angusta

Répondre à sardine-à l'huile

4

BB, le 6 fév 2006 à 19:14:53

Merci pour ton message. Effectivement je sais que Excel est un tableur et n'est pas sensé servir de traitement de texte. Mais souvent, travailler même en texte dans un tableau excel est beaucoup plus agréable que de travailler sur word avec des tableaux.
Merci pour ta réponse

Répondre à BB

2

JvDo, le 6 fév 2006 à 18:34:21

Bonsoir,

une petite macro à mettre en embuscade derrière la feuille de calcul dans laquelle tu effectues ta saisie :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value >= "a" And Target.Value <= "z" Then
    Target.Value = Chr(-32 + Asc(Left$(Target.Value, 1))) & Right$(Target.Value, Len(Target.Value) - 1)
End If
End Sub
A+

Répondre à JvDo

3

BB, le 6 fév 2006 à 19:12:16

Bonsoir JvDo,
merci beaucoup pour ta réponse. Mais voilà, le monde des macros m'est complètement inconnu! Créer des petites macros hyperrrrrrr simples style (mettre en gras puis mettre en italique puis refermer tel truc et re-ouvrir tel autre) ça va mais dès que l'on rentre dans les macros complexes, je n'y connais rien.
Pourrais-tu stp me guider pas à pas pour que je puisse rentrer la rédaction de la macro que tu m'as conseillée?
Si cela te prendrait trop de temps, alors je comprendrai.
Merci,

Répondre à BB

14

xhitina, le 3 jui 2007 à 10:14:01

Merci, c'est vraiment pratique
où peut -on apprendre (ou télécharger) ces trucs?
merci encore

Répondre à xhitina

5

JvDo, le 7 fév 2006 à 02:03:18

Bonsoir,

en fait, il faut mettre le code derrière la feuille dans laquelle tu veux que ça marche.

donc tu te mets sur l'onglet 1,
tu fais ALT + F11 pour accéder à VBA
tu fais un clic droit sur feuil1 dans la fenêtre VBA Projet (en haut à gauche)
dans le menu contextuel qui s'affiche, tu choisis code
enfin, dans la fenêtre de droite qui apparait alors, tu copies le code.

tu retournes dans ton onglet et tu t'amuses pour vérifier que ça marche.

regarde là : http://cjoint.com/?chca6ry3tT
j'ai rajouté une ligne de code pour éviter certains soucis

bon courage et n'hésite pas si tu as des problèmes

A+

Répondre à JvDo

6

BB, le 7 fév 2006 à 23:49:56

Bonsoir,
merci beaucoup de m'avoir accordé de ton temps sur ce problème.
J'ai essayé de faire ce que tu m'as dit. Une fois le code copié dans la fenêtre (Affichage/Code, seule manière que j'ai trouvée pour accéder à la fenêtre code), ensuite j'ai une erreur de validation: Erreur de compilation:
Attendu:)
Il semblerait qu'il faille rajouter un mot clé CALL mais je n'y comprends rien.
Je suis allée voir ton exemple qui fonctionne parfaitement bien, j'ai voulu donc aller voir ton code, que j'ai obtenu mais dès que je veux l'executer dans mon document il me demande de lui donner un nom, puis de le créer, ce qui me donne un nouveau code à inclure dans la fenêtre précédente. Je dois dire que je n'y comprends rien.
Merci d'avoir fait ce que tu as pu pour m'aider, mais je ne suis pas assez calée sur Excel pour y parvenir.
Par contre je me suis créée un souci car à chaque fois que j'ouvre mon document excel, j'ai droit au fameux message m'annonçant qu'une macro est associée à mon document, bla bla bla sur activex, ensuite j'ai le choix entre Désactiver les macros, Activer les macros ou Information. Donc je désactive à chaque fois, mais que puis-je faire pour que ce message n'apparaisse plus? Car je ne trouve aucune macro associée à ce document, donc il doit y en avoir une cachée que je n'arrive pas à supprimer.
Merci encore pour toute ta patience! Et vraiment désolée de ne pas avoir réussi à faire ce que tu m'avais pourtant si bien clairement expliqué.

Répondre à BB

18

Noisette, le 5 aoû 2008 à 18:59:35

Whahoo! trop beau, merci! c la première fois que le miracle se produit pour moi suite à un gentil coup de main par écrit comme celui-ci!!!
Bon du coup pour les adresses mails, ça le fait pas trop, mais je suppose qu'on peut pas tout avoir...

Répondre à Noisette

7

JvDo, le 8 fév 2006 à 00:26:20

Bonsoir,

bien sur que tu vas y arriver!
regarde : http://cjoint.com/?ciazghJuAx, il y a des images.

A+

Répondre à JvDo

8

BB, le 8 fév 2006 à 01:06:51

Et bien, je dois admettre que tu es hyper patient et très encourageant!!!
Bon, le truc c'est que je n'avais pas de fenêtre VBA Projet, mais j'ai réussi à la faire apparaitre en faisant Affichage /Explorateur de projet.
Donc ensuite j'ai suivi tes instructions et j'ai obtenue la fenêtre du code, le code y était bien inscrit.
Mais ensuite que dois-je faire? Car si je retourne directement sur ma feuille excel, et que j'essaie d'écrire un truc dans une cellule ma première lettre reste en minuscule, j'en déduis donc que ma feuille n'a pas encore fusionée avec ma macro et qu'il faut que j'enregistre ma macro auparavant mais je ne sais comment faire. J'ai compris maintenant que ça ne se fait pas en cliquant sur l'icone "Executer Sub/User Form" car ensuite on va me demander de créer une nouvelle macro... Vraiment désolée, malgré toutes tes intentions hyper sympas... je n'y arrive pas...

Répondre à BB

9

BB, le 8 fév 2006 à 01:20:11

Ca MARCHEUUUUUUUUUUU
Merci beaucoup!
En fait j'avais fait tellement d'essai que je me suis apperçue que y'avait plusieurs onglets "macro" dans mon classeur, donc je suppose qu'il y avait un "conflit" de macros!
Donc finalement, y'avait pas à enregistrer la macro, elle le fait automatiquement!
Merci encore mille fois pour ta patience!!!!

Puis-je te poser une dernière question? J'ai fait l'essai de supprimer la macro en allant dans Outils/Macro/Macros. J'ai ensuite refermé mon dossier excel en le sauvegardant. Je voulais voir si en supprimant la macro, je n'aurais plus de message en ouvrant mon dossier excel me disant qu'une macro y est attachée, etc... Mais là par contre ça fonctionne pas. Car même la macro supprimée, je continue à avoir ce message où il faut toujours répondre "désactiver la macro" puisqu'elle n'existe plus. Cela signifie t-il qu'une fois une macro créée, même si on la supprime, on aura toujours ce message de macro en ouvrant le dossier excel?

Merci encore beaucoup pour ton aide!!!!!!!!!!!!!!!!!!
A +

Répondre à BB

10

JvDo, le 8 fév 2006 à 02:34:37

Bonsoir,

bonne nouvelle donc!

pour la macro qui fait de la résistance, ça n'est pas normal.

personnellement, pour les macros incluses dans des modules, je fais clic droit sur le module, supprimer et je dis non à l'export du module.
Pour celles attachées à une feuille, que ce soit feuil1 ou thisworkbook, j'affiche le code (clic droit sur feuil1 ou thisworkbook puis code) et je l'efface comme si j'étais dans un éditeur de texte.

avec ça, il n'y a plus de sollicitations intempestives à l'ouverture du classeur autour de macros à activer ou pas.

bon courage

PS : n'oublie pas d'enregistrer ton classeur après l'effacement des macros!!!

Répondre à JvDo

11

BB, le 8 fév 2006 à 13:11:56

Bonjour,

Merciiiiiiiiiiiiiiiiiiiiii pour toute ton aide!

J'ai fait l'essai de recréer un nouveau document Excel, d'y mettre la macro, de retourner travailler dans ma feuille Excel et de ne n'enregistrer mon document Excel qu'une fois après avoir effacé le code de la macro dans la fenêtre VBA Projet. A la nouvelle ouverture du document Excel, effectivement, je n'avais plus de message quant à la résistance d'une macro!

Que le monde des macros est compliqué quand on n'a pas du tout l'âme informatique!

Merci encore mille fois pour ta patience et toutes tes explications!


Bonne Journée!
BB_

Répondre à BB

12

Bridget Jones, le 19 jun 2007 à 09:37:30
  • +2

Bonjour,

J'arrive bien après la bataille mais il y a une solution beaucoup plus simple qu'une macro pour mettre en majucule la première lettre d'une cellule : la fonction NomPropre.
Cf http://www.info-3000.com/excel/majuscule.php (procédure pour mise en majuscules, puis évocation des fonctions NomPropre et Minuscule, qui reprennent exactement la même procédure).

Répondre à Bridget Jones

13

BB, le 19 jun 2007 à 15:00:49

Bonjour Bridget... Merci beaucoup pour ces explications hyper claires et efficaces, cela est beaucoup plus simple que l'utilisation des macros que j'ai déjà oubliée, faute de pratique !
Il y a tellement de fonctions dans Excel, c'est incroyable! Merci et très bonne journée.

Répondre à BB

15

sofiane06, le 29 avr 2008 à 16:11:00

Voilà une macro qui va pouvoir vous aider!
a+


Sub Transforme()

Dim Valeur As String
Dim Plage, Cellule As Range

' Ici spécifier la plage à couvrir !
Set Plage = Range("A1:A700")

For Each Cellule In Plage
Valeur = Mid(Cellule.Value, 2)
Valeur = UCase(Mid(Cellule.Value, 1, 1)) & Valeur
Cellule.Value = Valeur
Next Cellule

End Sub

Répondre à sofiane06

19

Fred, le 12 nov 2008 à 13:43:14

Merci
Simple efficace
Parfait

Répondre à Fred

16

labrele, le 10 jui 2008 à 12:08:09

Bonjour

Je suis un nouveau sur ce forum et je doit dire que celui-ci est vraiment supper pour les trucs et astuces.

A ce sujet j'ai une demande complémentaire a faire sur ce topic.

Voila la macro ci-dessus me convient parfaitement dans l'esprit mais je voudrait l'appliquer sur une zone nommée.

J'ai bien testé différentes solutions mais je n'arrive pas a extraire les bornes de la zone nommée pour les intégrer dans la variable "Set plage"

Par exemple :

j'ai une zone nommée "ref_1" qui couvre C13 a c70 et je souhaite (automatisation sur de nombreuses zone nommées avec des paramètres du type "ref_"n ) faire appel a cette zonne nommée pour remplir les adresses a prendre en compte.

en fait un peu avoir la syntaxe ci dessous

Set Plage = Range(ref_1) au lieu d'avoir les adressses en dur.

Si quelqu'un a une solution par avance merci

Répondre à labrele

17

labrele, le 10 jui 2008 à 14:08:35

Bon j'ai trouvé

Voici un exemple de code (avec passage en format Texte des cellules

Private Sub CommandButton_maj_Click()

For Rang = 1 To 29
Application.Goto Reference:="ref_" & Rang
Set Plage = Range(Selection.Address)
For Each Cellule In Plage
Cellule.Value = UCase(Cellule.Value)
Cellule.NumberFormat = "@"
Next Cellule
Next Rang

End Sub


A+

Répondre à labrele

20

 Rinos, le 27 jui 2009 à 12:07:46

Il y a plus simple :
=CONCATENER(MAJUSCULE(GAUCHE(D2;1));DROITE(D2;(NBCAR(D2))-1)­)

En gros, on extrait la première lettre à gauche (GAUCHE()) que l'on passe en majuscule (MAJUSCULE()), puis on extrait la partie droite(DROITE()) après la première lettre (NBCAR(D2))-1), on concatène le tout...

Répondre à Rinos