XL 2016 Chaine de caractère VBA majuscule et gras

  • Initiateur de la discussion Initiateur de la discussion agbj
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

agbj

XLDnaute Nouveau
Bonjour à tous,
je me permets de me tourner vers vous car j'ai une question. En effet dans le cadre d'une base de donnée que j'ai créée, j'aimerai afficher la première lettre en gras et en majuscule avec une procédure sub pour pouvoir le faire n'importe où.

Auriez vous une idée pour écrire cette procédure ? J'ai tenté différents éléments avec des Left pour isoler la lettre à gauche puis de Ucas mais rien de concluant.
Si vous savez le faire, je suis preneur
Merci d'avance
 
Re

Maintenant pour répondre à la question (et en étant donc en contradiction avec mon précédent message 😉)
VB:
Sub BoldeRaZaTor_And_PropeRaZaTor()
Dim rng, c As Range
Set rng = ActiveSheet.UsedRange
Application.ScreenUpdating = False
For Each c In rng
If Len(c) And Not c.HasFormula Then
c = StrConv(c.Text, vbProperCase)
c.Characters(Start:=1, Length:=1).Font.Bold = True
End If
Next
End Sub
 
Ok merci beaucoup de votre réponse et du code VBA
J'abuse un peu de votre temps libre mais serait il possible que vous m'aidiez à le transposer dans ce style là ?

Sub
Dim montexte As String

montexte = "patate chaude"
MsgBox Left (montexte, 1)

End Sub

Le problème étant que je n'arrive pas à mélanger à la fois le Left, le Ucase et le Bold
 
re
bonsoir agbj
j'ajoute a Staple1600 le proper même aux formules
pour le 1er caracteres en gras je pense pas que se soit possible par formule

VB:
Sub BoldeRaZaTor_And_PropeRaZaTor()
    Dim rng, c As Range
    Set rng = ActiveSheet.UsedRange
    Application.ScreenUpdating = False
    For Each c In rng
        If Len(c.Value) Then
            If Not c.HasFormula Then
                c = StrConv(c.Text, vbProperCase)
                c.Characters(Start:=1, Length:=1).Font.Bold = True
            Else
                c.Formula = "=PROPER(" & Replace(c.Formula, "=", "") & ")"
            End If
        End If
    Next
End Sub
 
Re

Pour infos, on peut pas (classiquement) afficher un caractère gras dans une Msgbox
On peut juste faire ceci (en reprenant ton exemple)
VB:
Sub Test()
Dim montexte As String
montexte = "patate chaude"
MsgBox StrConv(Mid(montexte, 1, 1), vbProperCase)
MsgBox StrConv(montexte, vbProperCase)
End Sub
 
Re

Pour infos, on peut pas (classiquement) afficher un caractère gras dans une Msgbox
On peut juste faire ceci (en reprenant ton exemple)
VB:
Sub Test()
Dim montexte As String
montexte = "patate chaude"
MsgBox StrConv(Mid(montexte, 1, 1), vbProperCase)
MsgBox StrConv(montexte, vbProperCase)
End Sub

Très bien je pensais que c'était faisable, je verrai donc avec mon prof
En tout cas merci pour votre aide et votre temps
Bonne journée à vous
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
8
Affichages
1 K
Retour