Mettre les premieres d'une saisie en Majuscule
Résolu
Peguewende
Messages postés
120
Statut
Membre
-
Peguewende Messages postés 120 Statut Membre -
Peguewende Messages postés 120 Statut Membre -
slt très chers
je cherche une méthode pour mettre les premières lettres d'une saisie en majuscule dans un formulaire sous Access 2013 sans passer par le masque de saisie,
aussi toute fois quelqu'un pourrait m'aider à utiliser StrConv("exple exple", vbProperCase) pour un champ sur access 2013.
le test marche bien lorsque j'utilise msgbox(StrConv("exple exple", vbProperCase)) il renvoie Exple Exple.
je sais plus comment appliquer sur un champ
S'il vous plait je sollicite votre aide et je tiens à signaler que suis debutant sur access
Merci d'avance
je cherche une méthode pour mettre les premières lettres d'une saisie en majuscule dans un formulaire sous Access 2013 sans passer par le masque de saisie,
aussi toute fois quelqu'un pourrait m'aider à utiliser StrConv("exple exple", vbProperCase) pour un champ sur access 2013.
le test marche bien lorsque j'utilise msgbox(StrConv("exple exple", vbProperCase)) il renvoie Exple Exple.
je sais plus comment appliquer sur un champ
S'il vous plait je sollicite votre aide et je tiens à signaler que suis debutant sur access
Merci d'avance
3 réponses
-
Bonjour
Voici une fonction qui te convertit tout les mots avec la premiere en e masjuscule
Function Convmaj1car()
Dim chaine$, lg%, i%, extract, conv
'
chaine$ = Screen.ActiveControl
If IsNull(chaine) Or chaine = "" Then Exit Function
lg% = Len(chaine)
' Recherche "-", apostrophe ou espace
For i = 1 To lg
extract = Mid(chaine, i, 1)
'
If extract = " " Or extract = "-" Or extract = "'" Then
conv = False
If i < lg - 3 Then
'test si préposition
extract = (UCase(Mid(chaine, i + 1, 2)))
Select Case extract
Case "L'", "D'"
i = i + 1
End Select
'
extract = (UCase(Mid(chaine, i + 1, 3)))
Select Case extract
Case "DE ", "DE-", "DES", "DU ", "DU-", "LE ", "LE-", "LES", "LA ", "LA-", "L' ", "AU ", "RUE", Chr$(68) + Chr$(39)
i = i + 2
Case Else
conv = True
End Select
Else
conv = True
End If
' si pas de préposition, 1ère lettre en majuscule
If i <> lg And conv Then
chaine = Left(chaine, i) + UCase(Mid(chaine, i + 1, 1)) + Right(chaine, lg - i - 1)
End If
If i = lg Then
chaine = Left(chaine, lg - 1) + LCase(Right(chaine, 1))
End If
End If
'
Next
Screen.ActiveControl = UCase(Left(chaine, 1)) & Right(chaine, lg - 1)
End Function-
merci pour la fonction, suis un peu perdu: je viens de commencer à apprendre le VBA grace a une formation video que j'ai achete chez video2brain.
je ne sais pas, si je vous demandais de m'expliquer un peu comment devrais-je utiliser cette fonction et cela marcherait sur quel evenement ça ne sera pas trop vous demandez, si oui toutes mes excuses.
Merci pour tous
-
-
-
merci à tous
j'ai fini par trouver une fonction qui marche bien et est tres simple:
voici le lien : http://access.mvps.org/accessfr/strings/str0005.htm
merci bien pour votre soutien.