Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Mettre en "uppercase"

16 réponses
Avatar
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.

10 réponses

1 2
Avatar
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

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." a écrit dans le message de
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.


Avatar
Philippe.R
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." a écrit dans le message de
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.


Avatar
josephb
Bonjour Philippe et merci pour votre double réponse

Philippe.R <AS_rauphil_chez_wanadoo.fr> wrote:

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.
Avatar
Philippe.R
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." a écrit dans le message de
news:1j4jq3u.uicaqm1nqmrggN%
Bonjour Philippe et merci pour votre double réponse

Philippe.R <AS_rauphil_chez_wanadoo.fr> wrote:



[...]
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.


Avatar
garnote
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." a écrit dans le message de news:
1j4jq3u.uicaqm1nqmrggN%
Bonjour Philippe et merci pour votre double réponse

Philippe.R <AS_rauphil_chez_wanadoo.fr> wrote:

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.


Avatar
Caetera
"Joseph B." a écrit dans le message de news:
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
Avatar
isabelle
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." a écrit dans le message de news:
1j4jq3u.uicaqm1nqmrggN%

Bonjour Philippe et merci pour votre double réponse

Philippe.R <AS_rauphil_chez_wanadoo.fr> wrote:


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.








Avatar
Philippe.R
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." a écrit dans le message de news:
1j4jq3u.uicaqm1nqmrggN%

Bonjour Philippe et merci pour votre double réponse

Philippe.R <AS_rauphil_chez_wanadoo.fr> wrote:


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.









Avatar
josephb
Caetera <EtiennePloufCahÈ@wanadoo.fr> wrote:

"Joseph B." a écrit dans le message de news:
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

<http://cjoint.com/?irwiT4ANcl>*

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.
Avatar
josephb
Bonjour,

garnote wrote:

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.
1 2