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

C@thy

Guest
Bonjour Carole,

SuperMagikGénial Ti a encore frappé!

dans une colonne à côté, tu mets ta formule : =MAJUSCULE(A1) ou
= NOMPROPRE(A1)
ensuite tu recopies vers le bas si plusieurs fois,
ensuite tu sélectionnes toutes tes cellules qui ont cette formule puis Edition copier/Edition Collage spécial valeurs.
Enfin, tu peux effacer de ta 1ère colonne les noms qui étaient en minuscules (dans mon exemple la colonne A).


C@thy
BipBip.gif
 
C

Carole

Guest
Merci pour vos réponse.
J'avais bien trouvé ces 2 fonctions mais je n'arrive pas à les utiliser correctement.
C'est à dire que par exemple dans mon tableaux, toutes les cellules de A1 à A10 soient en "NOMPROPRE" et que de B1 à B10 soient en "MAJUSCULE" et cela dès que je tape du texte directement dedans.

J'arrive à mettre ces fonctions en place mais je suis obligée de taper mon texte en C1 (par ex) pour qu'il apparaissent en A1 en "NOMPROPRE".

Vu ce que vous donner comme explication, ce que je veux faire doit etre possible mais je dois mal m'y prendre.

Pourriez-vous m'expliquer plus précisément SVP.

Désolée mais j'ai du mal. :)
 
C

Carole

Guest
Je crois que je viens de comprendre que que tu m'as donnée comme manip Cathy.
Mais j'ai peur que ce ne soit pas ce que je souhaite. Je me suis sans doute mal exprimée.
En fait ce que j'aimerai, c'est que tout ce que je tape dans la colonne A1 à A10 se mette automatiquement en "Test" et tout ce que je tape dans la colonne B1 à B10 se mette automatiquement en "TEST"
Est-ce faisable ? Merci d'avance.
ps : en faisant ce que tu me disait Cathy, ca marche très bien. Mais quand je tape autre chose à la place dans les cellules ou j'ai fait le collage special la mise en forme ne se fait pas.
 
T

Ti

Guest
Attention Cathy, MAJUSCULE mettra tout le mot en majuscules, alors que NOMPROPRE ne met que le premier caractère en majuscule, et ce même si le mot entier a été tapé en majuscules (comme le demandait Carole).

Carole, pour ce que tu veux, il te fonction une macro événementielle. Pas le temps de la faire maintenant, mais si tu patientes un peu, tu l'auras d'ici ce soir, à moins que Cathy repasse par là et s'y colle.
 
L

LaurentTBT

Guest
Bonjour C@thy, Ti et tout le monde

Moi, ça tourne pour le 2ème (tout majuscule), mais pas le premier!!!

Pour moi, si tu remplaces tous les activecell par target, tout marche.
Tu peux aussi rajouter worksheetfunction:
Application.worksheetfunction.proper(target)

bonne soirée.
Laurent.
 
C

C@thy

Guest
Merci Laurent,

oui, maintenant ça tourne, mais t'as vu comme j'ai galéré!

Je voulais répondre vite à Carole, je pensais faire ça vite fait, eh ben pas du tout!...Enfin! c'est le métier qui rentre, j'apprends chaque jour, mais évidemment face à des pros comme vous je me fais toute petite petite...

franchement, pourquoi ça :

Application.Proper(ActiveCell)

ça marche bien et ça :

Application.UCase(ActiveCell)

ça marche pas!!!

Logiquement ça devrait être pareil, kif kif bourricot, ben non!

C@thy
BipBip.gif
 
L

LaurentTBT

Guest
Difficile à expliquer:

UCase est une fonction comprise dans VBA. Ce n'est pas une propriété de l'objet application.
D'ailleurs, dans l'éditeur VBA, quand tu tapes Application. (il faut taper le point) , tu as la liste de toutes les propriétés, objets, méthodes... qui découlent de l'objet Application, et Ucase n'en fait pas partie.

Ce qui me surprend plus, c'est que Application.proper fonctionne, car pour moi, Proper n'est que la traduction en VBA de la fonction d'excel NOMPROPRE. C'est pour cela que je pensais que Application.proper devait être remplacé par Application.worksheetfunction.proper Apparemment, le raccourci est possible.

Pour essayer d'être plus clair:
Ucase est une fonction de VBA
Proper est l'appel par VBA de la fonction NOMPROPRE d'Excel

Enfin, Ti me contredira peut-être, où saura mieux expliquer que moi.

Sinon, un petit conseil plus important: dans ta macro ici, remplace activecell par target, car moi, dans mon menu outils, options d'excel, j'ai choisis de déplacer la cellule active vers le bas après enter. Donc quand je saisi en cellule A1, après enter:
activecell devient la cellule A2
Alors que dans la procédure worksheet_change, target reste A1

Allez, bonne soirée.
Laurent.
 

Discussions similaires

Réponses
9
Affichages
499

Membres actuellement en ligne

Aucun membre en ligne actuellement.

Statistiques des forums

Discussions
312 520
Messages
2 089 298
Membres
104 092
dernier inscrit
karbone57