Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

casse dans les cellules

C

Carole

Guest
Bonjour,

Je cherche le moyen, si il existe, de forcer la casse dans plusieurs cellules.
C'est à dire avoir :

1- La 1ere lettre de chaque mot en MAJ et le reste en MIN
2- Avoir toute la cellule en MAJ.

J'utilise Excel 2000.

Merci d'avance.
 
C

Charlie

Guest
Bonsoir,

Petite astuce :
Par le Menu Outils - Correction automatique - Remplacer : une lettre non employée du clavier, par exemple µ - Par : =NOMPROPRE("

Lors de la frappe il faut faire suivre le mot de ").
Ainsi µbonjour") donnera Bonjour

Charlie
 
C

C@thy

Guest
Merci Laurent pour ces explications VBA.

T'as raison, c'est bizarre pour proper, j'ai eu du bol que ça marche, j'me serais encore demandé pourquoi! Gasp!

J'ai oublié de vous dire, Ti et Laurent, que j'ai galéré aussi avant pour le
If Not Intersect ... Is Nothing
(déjà ça, faut l'faire! pourquoi pas if intersect is something! non j'rigole mais avoue que c'est une drôle de syntaxe ce not is nothing!)

J'avais commencé par un truc du style : if target = Range("A1:A10")...après j'ai mis des $ enfin bref!....quand tout à coup je me suis souvenue de l'intersect!...Carole il ne fallait pas qu'elle soit trop pressée! (d'ailleurs elle n'a pas l'air trop pressée!).

Bises à toutes et tous et bonne journée

C@thy
 
C

Carole

Guest
Merci de vos effort concernant ma demande !
Ne vous en faites pas, j'ai posé la question ici car je pensais que cela pouvait etre relativement simple à faire.
Par contre, les macros je connais pas du tout alors...
Merci beaucoup pour vos réponses
En tout cas je retiens l'adresse de ce site car il me sera sans doute utile par la suite ! D'autant plus que les réponses sont de bonne qualité et d'une extreme rapidité !
Merci encore et bonne continuation !

 
C

Carole

Guest
Bonjour,

Je n'avais pas vu qu'il y avait les fichiers à télécharger.
Merci encore.

Par contre, je vois que dans le 2eme de Cathy, dans la colonne A les caractères restent en minuscule. En revanche dans la colonne B les majuscules fonctionnent correctement.

Je vais sans doute me servir ce cet exemple, mais n'y connaissant rien, pourriez-vous voir pourquoi cela ne fonctionne pas pour la colonne A ?

Merci d'avance.
Désolée d'etre si exigente !
 
C

Carole

Guest
pour etre la plus explicite possible, voici je que j'aimerai avoir :

- Majuscule à la 1ere lettre du mot dans
"C5 à C17" et
"D5 à D17"

- Majuscule dans
"E5 à E17"
"F5 à F17"
"G5 à G17"
"H5 à H17"
"I5 à I17"
"J5 à J17"
"L5 à L17"
"M5 à M17"
"N5 à N17"

Est-ce que vous pourriez me donner une explication ou la macro si vous pouvez.
Merci encore.
 
C

C@thy

Guest
Carole, dans me majus2.zip tout fonctionne.

Il s'agit d'une macro événementielle propre à la feuille feuil1

Tu fais altF11 et tu trouves ce code :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("A1:A10"), Target) Is Nothing Then ActiveCell = Application.Proper(ActiveCell)
If Not Intersect(Range("B1:B10"), Target) Is Nothing Then Target.Value = UCase(Target)
End Sub

en fait, comme le disait Laurent, il faut remplacer ActiveCell par Target

ce qui donne :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("A1:A10"), Target) Is Nothing Then Target.value = Application.Proper(Target)

If Not Intersect(Range("B1:B10"), Target) Is Nothing Then Target.Value = UCase(Target)
End Sub

si ce n'est pas les bonnes cellules, tu modifies par tes références

pour ton cas, ça donne :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Range("C517"), Target) Is Nothing Then ActiveCell = Application.Proper(ActiveCell)
If Not Intersect(Range("E5:J16,L5:N16"), Target) Is Nothing Then Target.Value = UCase(Target)
End Sub

C@thy
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…