Initiale en majuscule pour plusieurs noms inscrits a la suite, egalement prenoms avec tiret

Contenu du snippet

Pour Access, ce petit code VBA permet lors d'une saisie de plusieurs prénoms dans un champ (par ex : michel alain robert) de mettre une initiale à chacun des prénoms, soit : Michel Alain Robert dans ce cas. Une nouvelle mise à jour pour les prénoms avec tiret, ça manquait.

Source / Exemple :


Function convertInitMaj(envoi)

        '[envoi] représente la variable qui doit être convertie
        '[convertInitMaj] est [envoi] qui a été converti

Dim précèdeMaj() As String
TailleDim = 1                   'définit le nombre de variables, soit 2 dans ce cas, vu qu'il faut
                                'une majuscule après un espace et après un tiret
                                
ReDim précèdeMaj(TailleDim)
précèdeMaj(0) = " "             'définit l'espace
précèdeMaj(1) = "-"             'définit le tiret

For compte = 0 To TailleDim
If IsNull(envoi) = False Then
    convertInitMaj = UCase(Mid(envoi, 1, 1)) + Right(LCase(envoi), Len(envoi) - 1)
    If InStr(envoi, précèdeMaj(compte)) Then
        Do
            a1 = InStr(Right(envoi, Len(envoi) - a2), précèdeMaj(compte))
            tmp = Left(tmp, a2) + UCase(Mid(envoi, a2 + 1, 1)) + Right(envoi, Len(envoi) - a2 - 1)
            a2 = a2 + a1
            convertInitMaj = tmp
        Loop Until a1 = 0
    End If
    '....................................................................
End If
Next

End Function

Conclusion :


La liste des précèdeMaj() n'est pas exhaustive, on peut tout aussi bien s'imaginer d'une liste de prénoms séparés par des virgules ou des "_" comme le précise akastels. Par contre, je n'ai pas testé avec des retours chariots, n'en ayant pas l'utilité.

PS pour VicoLaChips2, l'utilitaire : "vbProperCase" ne met malheureusement pas de MAJ après les tirets ...

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.