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

[NOMPROPRE]

21 réponses
Avatar
Cath
Bonjour à tous,

Dans un autre fil (initié le 18/11), vous m'aviez donné une solution
(merci encore) pour mettre un mot en majuscules dans la cellule A1, en
ajoutant dans le module de la feuille concernée :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
Target = UCase(Target)
End If
End Sub

Cela fonctionne à merveille, mais voici que je deviens plus difficile et
qu'à présent, j'aimerais qu'en plus de cela, la cellule H2 soit en
format Première lettre de chaque mot en majuscules (pour un prénom qui
peut être composé).

J'ai tenté d'adapter ce que j'ai trouvé sur Excelabo, mais je ne connais
pas (encore) le langage approprié et n'ai pas réussi.

Merci de votre réponse.

--
Cath :-)
/\____/\ L'Australie dans tous ses états :
\ / \ / http://perso.wanadoo.fr/cathozie/
- > O O < - Aide internet : CuteFTP, Forté Agent, ClipMate,
- o - créer votre répertoire chez Wanadoo !
> v < http://perso.wanadoo.fr/cathozie/aideinternet/

10 réponses

1 2 3
Avatar
AV
Private Sub Worksheet_Change(ByVal zz As Range)
If Not Intersect(zz, Range("A1")) Is Nothing Then
zz= application.proper(zz)
End If
End Sub

AV
Avatar
Polemos
Bonjour,

A ma connaissance cette fonction (que tu trouves en php par exemple)
n'existe pas dans la version VBA 6.

La solution est de rechercher les espaces dans ta chaine :

placeinit=""
placeinit_boleanúlse
chaine=""

for i=1 to len(chainetotale)
if mid(chainetotale, i,1)=" " then

if palceinit_bool = false then
placeinit=i
placeinit_bool=true

else

placefin=i
endif

if placinit_boolean =true then
chaine = ucase(mid(chainetotale, placeinit, 1) &
lcase(mid(chainetotale, placeinit+1, placefin-placeinit)
chainenouvelle=chainenouvelle & chaine & " "
placeinit_booleanúlse
endif

next i

Ce bout de code met en majuscule la première lettre de chaque mot
séparé, et te crée une chaine nouvelle.

Je n'ai pas testé le code mais l'idée est là...

Cordialement
Polemos


On Sat, 27 Nov 2004 10:29:43 +0100, Cath
wrote:

Bonjour à tous,

Dans un autre fil (initié le 18/11), vous m'aviez donné une solution
(merci encore) pour mettre un mot en majuscules dans la cellule A1, en
ajoutant dans le module de la feuille concernée :

Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
Target = UCase(Target)
End If
End Sub

Cela fonctionne à merveille, mais voici que je deviens plus difficile et
qu'à présent, j'aimerais qu'en plus de cela, la cellule H2 soit en
format Première lettre de chaque mot en majuscules (pour un prénom qui
peut être composé).

J'ai tenté d'adapter ce que j'ai trouvé sur Excelabo, mais je ne connais
pas (encore) le langage approprié et n'ai pas réussi.

Merci de votre réponse.


Avatar
Polemos
Chapeau bas !!!

On Sat, 27 Nov 2004 10:47:49 +0100, "AV"
wrote:

Private Sub Worksheet_Change(ByVal zz As Range)
If Not Intersect(zz, Range("A1")) Is Nothing Then
zz= application.proper(zz)
End If
End Sub

AV



Avatar
AV
Chapeau bas !!!


Bofff... rien d'extraordinaire : toutes les fonctions de feuille de calcul sont
utilisables ainsi :
Nom anglais et séparateur d'arguments la virgule au lieu du point-virgule

AV

Avatar
Polemos
Salut AV

J'ai testé avec un textbox, cela fonctionne aussi nickel.
Mais l'aide en ligne de mon excel ne connait pas "proper" !

Cdt
Polemos


On Sat, 27 Nov 2004 11:08:08 +0100, "AV"
wrote:

Chapeau bas !!!


Bofff... rien d'extraordinaire : toutes les fonctions de feuille de calcul sont
utilisables ainsi :
Nom anglais et séparateur d'arguments la virgule au lieu du point-virgule

AV




Avatar
Cath
Merci beaucoup pour la réponse, mais je ne sais pas où je dois mettre le
code pour l'ajouter à l'autre (j'aimerais qu'à la fois A1 soit affecté
de majuscules et H2 de Première Majuscule). J'ai essayé de le mettre à
la suite après avoir remplacé A1 par H2 et là, ça ne fonctionne pas,
j'ai une "erreur de compilation".

Ce Sat, 27 Nov 2004 10:47:49 +0100, AV nous dit :

Private Sub Worksheet_Change(ByVal zz As Range)
If Not Intersect(zz, Range("A1")) Is Nothing Then
zz= application.proper(zz)
End If
End Sub

AV



--
Cath :-)
/____/ L'Australie dans tous ses états :
/ / http://perso.wanadoo.fr/cathozie/
- > O O < - Aide internet : CuteFTP, Forté Agent, ClipMate,
- o - créer votre répertoire chez Wanadoo !
v < http://perso.wanadoo.fr/cathozie/aideinternet/


Avatar
AV
Dans le module de la feuille :

Private Sub Worksheet_Change(ByVal zz As Range)
Application.EnableEvents = False
Select Case zz.Address
Case "$A$1": zz = UCase(zz)
Case "$H$2": zz = Application.Proper(zz)
Case Else: Exit Sub
End Select
Application.EnableEvents = True
End Sub

AV
Avatar
Cath
Merci de t'être penché sur ma question, mais ça ne fonctionne pas chez
moi.

Ce Sun, 28 Nov 2004 16:23:25 +0100, AV nous dit :

Private Sub Worksheet_Change(ByVal zz As Range)
Application.EnableEvents = False
Select Case zz.Address
Case "$A$1": zz = UCase(zz)
Case "$H$2": zz = Application.Proper(zz)
Case Else: Exit Sub
End Select
Application.EnableEvents = True
End Sub


--
Cath :-)
/____/ L'Australie dans tous ses états :
/ / http://perso.wanadoo.fr/cathozie/
- > O O < - Aide internet : CuteFTP, Forté Agent, ClipMate,
- o - créer votre répertoire chez Wanadoo !
v < http://perso.wanadoo.fr/cathozie/aideinternet/


Avatar
AV
Merci de t'être penché sur ma question, mais ça ne fonctionne pas chez
moi.


Un micro-climat défavorable....

AV

Avatar
jps
répondre ceci plus de 11 heures après....une honte, je vous dis...
quant au micro-climat, y a fort à parier que celui de catherine est plus
clément que celui du plateau de millevaches.....quoique, tu me diras, alain,
pour toi, y a le chabrol....
jps

"AV" a écrit dans le message de
news:%
Merci de t'être penché sur ma question, mais ça ne fonctionne pas chez
moi.


Un micro-climat défavorable....

AV





1 2 3