INITIALE EN MAJUSCULE POUR PLUSIEURS NOMS INSCRITS A LA SUITE, EGALEMENT PRENOMS
tmcuh
Messages postés458Date d'inscriptiondimanche 22 décembre 2002StatutMembreDernière intervention18 avril 2009
-
5 mars 2003 à 18:52
akastels
Messages postés5Date d'inscriptionlundi 20 janvier 2003StatutMembreDernière intervention 2 juin 2003
-
17 mai 2003 à 17:23
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
akastels
Messages postés5Date d'inscriptionlundi 20 janvier 2003StatutMembreDernière intervention 2 juin 2003 17 mai 2003 à 17:23
Voici le code que j'emploie depuis longtemps (je dis ça au cas où...):
Function PremMaj()
Dim SD As Variant, mc As Control, I As Integer
Dim mf As Form
Set mf = Screen.ActiveForm
mf.HelpContextId = 1
Set mc = Screen.ActiveControl
mc = UCase(Left(Trim(mc), 1)) & Mid(Trim(mc), 2)
For I = 1 To Len(mc) - 1
SD = Mid(mc, I, 1)
If SD "-" Or SD "_" Or SD = " " Or Asc(SD) = 13 Or Asc(SD) = 10 Then
mc = Left(mc, I) & UCase(Mid(mc, I + 1, 1)) & Mid(mc, I + 2)
Else
mc = Left(mc, I) & LCase(Mid(mc, I + 1))
End If
Next I
mc = Trim(mc)
End Function
Celui-ci a l'avantage de mettre la majuscule au 2ème prénom si celui-ci est composé, puis après un retour chariot, à la ligne, ou séparé par "_".
cs_mariochk
Messages postés11Date d'inscriptionvendredi 1 février 2002StatutMembreDernière intervention 7 octobre 2004 6 mars 2003 à 22:18
Autant pour moi, je l'ai pourtant cherchée cette commande, mais depuis l'aide ACCESS avec des mots clés (INITIALE, MAJUSCULE, etc ) NADA ! MERCI A TOI ça me réconcilie avec VB car je trouvais un peu débile de devoir créer à la main une commande qui aurait dû être inclue ...
VicoLaChips2
Messages postés436Date d'inscriptiondimanche 20 janvier 2002StatutMembreDernière intervention 2 février 20102 6 mars 2003 à 18:22
Autrement il y a une fonction incluse à vba :
dim result as string
result = strConv(MaChaineDeCaractere,vbProperCase)
@+
KaViDee
Messages postés262Date d'inscriptiondimanche 1 septembre 2002StatutMembreDernière intervention18 juin 2008 6 mars 2003 à 00:15
Mes 12 Fonctions super utiles, c'est un vieux truc tout pourri que j'avais fais il y longtemps et qd je venais tout juste de découvrir ces fonctions.
Et l'algo qui permet de mettre tous les mots en majuscule je viens de le trouver aujourd'hui.
Salut grand Dieu...
cs_mariochk
Messages postés11Date d'inscriptionvendredi 1 février 2002StatutMembreDernière intervention 7 octobre 2004 5 mars 2003 à 23:39
EN +, TES 12 SUPER FONCTIONS SUPER UTILES NE SONT PAS FICHUES DE METTRE L'INITIALE EN MAJUSCULE A CHAQUE NOM INSERES SUR UNE LIGNE BEURK ! ENCORE UNE PREUVE QUE JE T'AI PAS COPIE ET J'AI BIEN FAIT, SINON JE DEVRAIS ENCORE ME CREUSER POUR TROUVER LA SOLUCE ! Salut petit dieu
cs_mariochk
Messages postés11Date d'inscriptionvendredi 1 février 2002StatutMembreDernière intervention 7 octobre 2004 5 mars 2003 à 23:28
En + t'as fait un mid pour chercher l'espace alors que j'ai fait un right, si je t'avais copié, j'aurais changé une virgule pas une commande (...)Quant à la ligne
txtTitre = Left(txtTitre, i) & ... etc
n'importe quel tdc de programmeur aurait fait de même pour concaténer les 3 éléments !!!!! salut DIEU LE SAUVEUR
cs_mariochk
Messages postés11Date d'inscriptionvendredi 1 février 2002StatutMembreDernière intervention 7 octobre 2004 5 mars 2003 à 22:53
N'importe quoi, j'ai cherché dans le code source avec majuscule ou initiale et rien n'est sorti, alors j'ai créé qqch, sans savoir qu'un autre flan faisait de même, POUR QUI TU ME PRENDS TAS DE NEIGE ? CHUI PAS TOMBE DE LA POUSSETTE !
KaViDee
Messages postés262Date d'inscriptiondimanche 1 septembre 2002StatutMembreDernière intervention18 juin 2008 5 mars 2003 à 20:27
Pour la peine je te mets 1
KaViDee
Messages postés262Date d'inscriptiondimanche 1 septembre 2002StatutMembreDernière intervention18 juin 2008 5 mars 2003 à 20:23
T'as pas l'impression de t'être inspiré de ma source.
http://www.vbfrance.com/article.aspx?Val=7956 Comme par hazard, juste qd je poste ma source, tu me chies ça dessuite après.
Même si c'est un peu modifié, ya des parties de codes de ma sources.
T'es vraiment pas fin, t'as juste changé la boucle For par une Do:
txtTitre = UCase(Left(txtTitre, 1)) & Right(txtTitre, Len(txtTitre) - 1)
For i = 1 To Len(txtTitre)
If Mid(txtTitre, i, 1) = " " Then
txtTitre = Left(txtTitre, i) & UCase(Mid(txtTitre, i + 1, 1)) & Right(txtTitre, Len(txtTitre) - i - 1)
End If
Next i
(C'est un morceau de ma source)
Copieur
tmcuh
Messages postés458Date d'inscriptiondimanche 22 décembre 2002StatutMembreDernière intervention18 avril 2009 5 mars 2003 à 18:52
Super à vrai dire il va me servir pour un prog mais je n'avais jamais pensé à le faire.
9/10 car il manque end if à la fin. ;-)
17 mai 2003 à 17:23
Function PremMaj()
Dim SD As Variant, mc As Control, I As Integer
Dim mf As Form
Set mf = Screen.ActiveForm
mf.HelpContextId = 1
Set mc = Screen.ActiveControl
mc = UCase(Left(Trim(mc), 1)) & Mid(Trim(mc), 2)
For I = 1 To Len(mc) - 1
SD = Mid(mc, I, 1)
If SD "-" Or SD "_" Or SD = " " Or Asc(SD) = 13 Or Asc(SD) = 10 Then
mc = Left(mc, I) & UCase(Mid(mc, I + 1, 1)) & Mid(mc, I + 2)
Else
mc = Left(mc, I) & LCase(Mid(mc, I + 1))
End If
Next I
mc = Trim(mc)
End Function
Celui-ci a l'avantage de mettre la majuscule au 2ème prénom si celui-ci est composé, puis après un retour chariot, à la ligne, ou séparé par "_".
6 mars 2003 à 22:18
6 mars 2003 à 18:22
dim result as string
result = strConv(MaChaineDeCaractere,vbProperCase)
@+
6 mars 2003 à 00:15
Et l'algo qui permet de mettre tous les mots en majuscule je viens de le trouver aujourd'hui.
Salut grand Dieu...
5 mars 2003 à 23:39
5 mars 2003 à 23:28
txtTitre = Left(txtTitre, i) & ... etc
n'importe quel tdc de programmeur aurait fait de même pour concaténer les 3 éléments !!!!! salut DIEU LE SAUVEUR
5 mars 2003 à 22:53
5 mars 2003 à 20:27
5 mars 2003 à 20:23
http://www.vbfrance.com/article.aspx?Val=7956
Comme par hazard, juste qd je poste ma source, tu me chies ça dessuite après.
Même si c'est un peu modifié, ya des parties de codes de ma sources.
T'es vraiment pas fin, t'as juste changé la boucle For par une Do:
txtTitre = UCase(Left(txtTitre, 1)) & Right(txtTitre, Len(txtTitre) - 1)
For i = 1 To Len(txtTitre)
If Mid(txtTitre, i, 1) = " " Then
txtTitre = Left(txtTitre, i) & UCase(Mid(txtTitre, i + 1, 1)) & Right(txtTitre, Len(txtTitre) - i - 1)
End If
Next i
(C'est un morceau de ma source)
Copieur
5 mars 2003 à 18:52
9/10 car il manque end if à la fin. ;-)