Mettre en "uppercase"

Le
josephb
Bonjour et bon dimanche à tous,

Soit a1:e1 les titre de colonnes,
je ne sais pas comment faire (vba) pour passer tout leur texte en
majuscules.

Et tant qu'on y est, comment mettre seulement la première lettre en
capitale et le reste en minuscules ?

Merci de votre aide :-)

--
J. B.
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses Page 1 / 2
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Philippe.R
Le #19936251
Bonjour,
La ligne de titre étant sélectionnée :

Sub maj()
'passe tout en majuscules
For Each c In Selection
c.Value = UCase(c.Value)
Next c
End Sub

Sub nomprop()
'passe tout en nom propre
For Each c In Selection
c.Value = Application.Proper(c.Value)
Next c
End Sub
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Joseph B." news:1j4jerk.ruzz3y1855xrsN%
Bonjour et bon dimanche à tous,

Soit a1:e1 les titre de colonnes,
je ne sais pas comment faire (vba) pour passer tout leur texte en
majuscules.

Et tant qu'on y est, comment mettre seulement la première lettre en
capitale et le reste en minuscules ?

Merci de votre aide :-)

--
J. B.


Philippe.R
Le #19936731
Re,
Variante, sans sélection préalable de la plage :

Sub prop()
'Noms propres
For Each c In Range("a1:e1")
c.Value = Application.Proper(c.Value)
Next c
End Sub

Sub maj()
'Majuscules
For Each c In Range("a1:e1")
c.Value = UCase(c.Value)
Next c
End Sub
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Joseph B." news:1j4jerk.ruzz3y1855xrsN%
Bonjour et bon dimanche à tous,

Soit a1:e1 les titre de colonnes,
je ne sais pas comment faire (vba) pour passer tout leur texte en
majuscules.

Et tant qu'on y est, comment mettre seulement la première lettre en
capitale et le reste en minuscules ?

Merci de votre aide :-)

--
J. B.


josephb
Le #19938031
Bonjour Philippe et merci pour votre double réponse

Philippe.R
Bonjour,
La ligne de titre étant sélectionnée :

Sub maj()
'passe tout en majuscules
For Each c In Selection
c.Value = UCase(c.Value)
Next c
End Sub



Là, OK, tout se passe bien


Sub nomprop()
'passe tout en nom propre
For Each c In Selection
c.Value = Application.Proper(c.Value)
Next c
End Sub



mais pour cette dernière, une chose bizarre :
si le titre de colonne n'est composé que de "un seul" caractère, ce qui
est le cas dans mon tableau (colonnes de coordonnées, x et y), celui-ci
reste en minuscule..., tandisque "x " ou "x1"--> "X " ou "X1"

Je n'en finis pas de débuter en vba,
néanmoins, j'ai compris qu'il s'agissait de demander à vba d'exécuter la
commande intégrée à Excel "Nompropre"
Et en effet, celle-ci refuse de fonctionner sur une lettre isolée :-(

mais ça m'a incité à rechercher une variante possible dans la biblio
d'explorateur d'objets à la rubrique "case"

et, bingo, j'y ai vu la fonction VbStrConv de propriété VbProperCase 3, qui prétendrait à faire aussi la chose... ?? A essayer...

d'où la sub modifiée

Sub nomprop()
'passe tout en nom propre
For Each c In Selection
c.Value = StrConv(c, vbProperCase) 'ou StrConv(c, 3)
Next c
End Sub

et là, même un seul caratère est pris en compte ;-)

En tout cas merci pour m'avoir mis sur le chemin.

Cordialement,
--
J. B.
Philippe.R
Le #19938271
Merci pour le retour,

Je n'avais pas anticipé la possibilité d'un titre composé d'un seul
caractère, ne l'ayant jamais fait ; du coup, je n'avais jamais eu recours à
StrConv et je range cette solution dans mes tablettes

--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"Joseph B." news:1j4jq3u.uicaqm1nqmrggN%
Bonjour Philippe et merci pour votre double réponse

Philippe.R


[...]
Sub nomprop()
'passe tout en nom propre
For Each c In Selection
c.Value = Application.Proper(c.Value)
Next c
End Sub




[...]
si le titre de colonne n'est composé que de "un seul" caractère, ce qui
est le cas dans mon tableau (colonnes de coordonnées, x et y), celui-ci
reste en minuscule..., tandisque "x " ou "x1"--> "X " ou "X1"



[...]

mais ça m'a incité à rechercher une variante possible dans la biblio
d'explorateur d'objets à la rubrique "case"

et, bingo, j'y ai vu la fonction VbStrConv de propriété VbProperCase > 3, qui prétendrait à faire aussi la chose... ?? A essayer...

d'où la sub modifiée

Sub nomprop()
'passe tout en nom propre
For Each c In Selection
c.Value = StrConv(c, vbProperCase) 'ou StrConv(c, 3)
Next c
End Sub

et là, même un seul caratère est pris en compte ;-)

En tout cas merci pour m'avoir mis sur le chemin.

Cordialement,
--
J. B.


garnote
Le #19941981
Bonjour,

Permettez-moi, Messieurs, de m'immiscer :-)
Sous 2007, nomprop opère proprement
même pour un seul caractère.

Serge

Sub nomprop()
'passe tout en nom propre
For Each c In Selection
c.Value = Application.Proper(c.Value)
Next c
End Sub

mais pour cette dernière, une chose bizarre :















"Joseph B." 1j4jq3u.uicaqm1nqmrggN%
Bonjour Philippe et merci pour votre double réponse

Philippe.R
Bonjour,
La ligne de titre étant sélectionnée :

Sub maj()
'passe tout en majuscules
For Each c In Selection
c.Value = UCase(c.Value)
Next c
End Sub



Là, OK, tout se passe bien


Sub nomprop()
'passe tout en nom propre
For Each c In Selection
c.Value = Application.Proper(c.Value)
Next c
End Sub



mais pour cette dernière, une chose bizarre :
si le titre de colonne n'est composé que de "un seul" caractère, ce qui
est le cas dans mon tableau (colonnes de coordonnées, x et y), celui-ci
reste en minuscule..., tandisque "x " ou "x1"--> "X " ou "X1"

Je n'en finis pas de débuter en vba,
néanmoins, j'ai compris qu'il s'agissait de demander à vba d'exécuter la
commande intégrée à Excel "Nompropre"
Et en effet, celle-ci refuse de fonctionner sur une lettre isolée :-(

mais ça m'a incité à rechercher une variante possible dans la biblio
d'explorateur d'objets à la rubrique "case"

et, bingo, j'y ai vu la fonction VbStrConv de propriété VbProperCase > 3, qui prétendrait à faire aussi la chose... ?? A essayer...

d'où la sub modifiée

Sub nomprop()
'passe tout en nom propre
For Each c In Selection
c.Value = StrConv(c, vbProperCase) 'ou StrConv(c, 3)
Next c
End Sub

et là, même un seul caratère est pris en compte ;-)

En tout cas merci pour m'avoir mis sur le chemin.

Cordialement,
--
J. B.


Caetera
Le #19941971
"Joseph B." 1j4jq3u.uicaqm1nqmrggN%
si le titre de colonne n'est composé que de "un seul" caractère, ce qui
est le cas dans mon tableau (colonnes de coordonnées, x et y), celui-ci
reste en minuscule..., tandisque "x " ou "x1"--> "X " ou "X1"



IMPOSSIBLE quelle que soit la version XL !

Etc
isabelle
Le #19942781
salutatous,

j'ajouterais que sous xl2002, nomprop opère également proprement pour un
seul caractère,

isabelle



garnote a écrit :
Bonjour,

Permettez-moi, Messieurs, de m'immiscer :-)
Sous 2007, nomprop opère proprement
même pour un seul caractère.

Serge


Sub nomprop()
'passe tout en nom propre
For Each c In Selection
c.Value = Application.Proper(c.Value)
Next c
End Sub

mais pour cette dernière, une chose bizarre :
















"Joseph B." 1j4jq3u.uicaqm1nqmrggN%

Bonjour Philippe et merci pour votre double réponse

Philippe.R

Bonjour,
La ligne de titre étant sélectionnée :

Sub maj()
'passe tout en majuscules
For Each c In Selection
c.Value = UCase(c.Value)
Next c
End Sub



Là, OK, tout se passe bien



Sub nomprop()
'passe tout en nom propre
For Each c In Selection
c.Value = Application.Proper(c.Value)
Next c
End Sub



mais pour cette dernière, une chose bizarre :
si le titre de colonne n'est composé que de "un seul" caractère, ce qui
est le cas dans mon tableau (colonnes de coordonnées, x et y), celui-ci
reste en minuscule..., tandisque "x " ou "x1"--> "X " ou "X1"

Je n'en finis pas de débuter en vba,
néanmoins, j'ai compris qu'il s'agissait de demander à vba d'exécuter la
commande intégrée à Excel "Nompropre"
Et en effet, celle-ci refuse de fonctionner sur une lettre isolée :-(

mais ça m'a incité à rechercher une variante possible dans la biblio
d'explorateur d'objets à la rubrique "case"

et, bingo, j'y ai vu la fonction VbStrConv de propriété VbProperCase >> 3, qui prétendrait à faire aussi la chose... ?? A essayer...

d'où la sub modifiée

Sub nomprop()
'passe tout en nom propre
For Each c In Selection
c.Value = StrConv(c, vbProperCase) 'ou StrConv(c, 3)
Next c
End Sub

et là, même un seul caratère est pris en compte ;-)

En tout cas merci pour m'avoir mis sur le chemin.

Cordialement,
--
J. B.








Philippe.R
Le #19943001
Hello,
Après vérification, je confirme pour 2002 et 97
Quand on a pas de test, mieux vaut s'abstenir...
;o))
--
Avec plaisir
http://dj.joss.free.fr/trombine.htm
http://jacxl.free.fr/mpfe/trombino.html
Philippe.R
Pour se connecter au forum :
http://www.excelabo.net/mpfe/connexion.php
News://news.microsoft.com/microsoft.public.fr.excel
"isabelle" a écrit dans le message de
news:
salutatous,

j'ajouterais que sous xl2002, nomprop opère également proprement pour un
seul caractère,

isabelle



garnote a écrit :
Bonjour,

Permettez-moi, Messieurs, de m'immiscer :-)
Sous 2007, nomprop opère proprement
même pour un seul caractère.

Serge


Sub nomprop()
'passe tout en nom propre
For Each c In Selection
c.Value = Application.Proper(c.Value)
Next c
End Sub

mais pour cette dernière, une chose bizarre :
















"Joseph B." 1j4jq3u.uicaqm1nqmrggN%

Bonjour Philippe et merci pour votre double réponse

Philippe.R

Bonjour,
La ligne de titre étant sélectionnée :

Sub maj()
'passe tout en majuscules
For Each c In Selection
c.Value = UCase(c.Value)
Next c
End Sub



Là, OK, tout se passe bien



Sub nomprop()
'passe tout en nom propre
For Each c In Selection
c.Value = Application.Proper(c.Value)
Next c
End Sub



mais pour cette dernière, une chose bizarre :
si le titre de colonne n'est composé que de "un seul" caractère, ce qui
est le cas dans mon tableau (colonnes de coordonnées, x et y), celui-ci
reste en minuscule..., tandisque "x " ou "x1"--> "X " ou "X1"

Je n'en finis pas de débuter en vba,
néanmoins, j'ai compris qu'il s'agissait de demander à vba d'exécuter la
commande intégrée à Excel "Nompropre"
Et en effet, celle-ci refuse de fonctionner sur une lettre isolée :-(

mais ça m'a incité à rechercher une variante possible dans la biblio
d'explorateur d'objets à la rubrique "case"

et, bingo, j'y ai vu la fonction VbStrConv de propriété VbProperCase >>> 3, qui prétendrait à faire aussi la chose... ?? A essayer...

d'où la sub modifiée

Sub nomprop()
'passe tout en nom propre
For Each c In Selection
c.Value = StrConv(c, vbProperCase) 'ou StrConv(c, 3)
Next c
End Sub

et là, même un seul caratère est pris en compte ;-)

En tout cas merci pour m'avoir mis sur le chemin.

Cordialement,
--
J. B.









josephb
Le #19944651
Caetera
"Joseph B." 1j4jq3u.uicaqm1nqmrggN%
> si le titre de colonne n'est composé que de "un seul" caractère, ce qui
> est le cas dans mon tableau (colonnes de coordonnées, x et y), celui-ci
> reste en minuscule..., tandisque "x " ou "x1"--> "X " ou "X1"

IMPOSSIBLE quelle que soit la version XL !

Etc




Inutile de crier mon cher, je n'aurais pas passé un bon moment a
chercher une autre soluce si celle qu'on m'a gentiment proposé avait
marché chez moi. Ceci dit, je n'ai pas perdu mon temps, j'ai exploré des
choses que je ne connaissais pas.

Mais pour calmer le jeu avant qu'avant ça tourne au lynchage, une copie
d'écran


Probablement une "spécialité" de mon antique Excel 98 pour Macintosh,
une boulette qui aura été corrigée dans les versions suivantes,
j'imagine.


*Sauf pour les ceuces qui, les deux pieds plantés dans leur infaillible
certitude, imagineront que c'est un photo-montage éhonté.

A part ça, et en passant, merci à la communauté des généreux et savants
contributeurs de ce forum.

Sans rancune


--
J. B.
josephb
Le #19944661
Bonjour,

garnote
Bonjour,

Permettez-moi, Messieurs, de m'immiscer :-)
Sous 2007, nomprop opère proprement
même pour un seul caractère.



Je ne me permettrais pas d'en douter :-)
--
J. B.
Publicité
Poster une réponse
Anonyme