XL 2019 Ajouter du texte formaté à une cellule non vide

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 !

Horusbk

XLDnaute Junior
Bonjour,

J'ai ce code qui permet d'ajouter un texte spécifique dans une cellule non vide.

Code:
Sub ajout1()
Dim TxT As String
TxT = " X"
'
If Right(Feuil1.Range("C3"), 1) <> "X" Then
    Feuil1.Range("C3").Value = Feuil1.Range("C3") & TxT
Else
    MsgBox "Le dernier caractère est " & Right(Feuil1.Range("C3"), 1)
End If
'
End Sub

Je cherche à formater ma variable TxT de sorte que le texte ajouté soit dans une police différente que celle de la cellule où ce texte est ajouté.
Comment pourrais-je y parvenir ?

Merci d'avance de votre aide.
Baptiste
 

Pièces jointes

Solution
Bonjour Jacky67,
Merci pour votre réponse.

Une question me vient lorsque je vois votre bout de code :
VB:
With .[c3].Characters(Start:=Len(.[c3]) + 1 - Len(TxT), Length:=Len(TxT)).Font

Je sais qu'on peut écrire cela :
Code:
Range("C" & x )
où 'x' correspond à un nombre par exemple.

Dans votre code, la référence de la cellule 'c3' se trouve entre crochets. Peut-elle être remplacée par une variable comme précédemment ? Comme ça je peux ajouter mon caractère à une cellule spécifique que j'aurais déterminée en amont de ma procédure.

Merci d'avance,
Baptiste
RE...
En adaptant la ligne de destination..."Lig" dans l'exemple
VB:
Sub ajout1()
    Dim TxT As String, Lig&
    TxT = " X"
    Lig = 5    ' lig = la ligne de destination...
Bonjour,
Je cherche à formater ma variable TxT de sorte que le texte ajouté soit dans une police différente que celle de la cellule où ce texte est ajouté.
Comment pourrais-je y parvenir ?

Merci d'avance de votre aide.
Baptiste
Bonjour,
Pour formater le texte ajouté....
Ceci peut-être
VB:
Sub ajout1()
    Dim TxT As String
    TxT = " X"
    If Right(Feuil1.Range("C3"), 1) <> "X" Then
        With Feuil1
            .Range("C3").Value = .Range("C3") & TxT
            With .[c3].Characters(Start:=Len(.[c3]) + 1 - Len(TxT), Length:=Len(TxT)).Font
                .Name = "Arial"
                .FontStyle = "Gras italique"
            End With
        End With
    Else
        MsgBox "Le dernier caractère est " & Right(Feuil1.Range("C3"), 1)
    End If
End Sub
 
Bonjour Jacky67,
Merci pour votre réponse.

Une question me vient lorsque je vois votre bout de code :
VB:
With .[c3].Characters(Start:=Len(.[c3]) + 1 - Len(TxT), Length:=Len(TxT)).Font

Je sais qu'on peut écrire cela :
Code:
Range("C" & x )
où 'x' correspond à un nombre par exemple.

Dans votre code, la référence de la cellule 'c3' se trouve entre crochets. Peut-elle être remplacée par une variable comme précédemment ? Comme ça je peux ajouter mon caractère à une cellule spécifique que j'aurais déterminée en amont de ma procédure.

Merci d'avance,
Baptiste
 
Bonjour Jacky67,
Merci pour votre réponse.

Une question me vient lorsque je vois votre bout de code :
VB:
With .[c3].Characters(Start:=Len(.[c3]) + 1 - Len(TxT), Length:=Len(TxT)).Font

Je sais qu'on peut écrire cela :
Code:
Range("C" & x )
où 'x' correspond à un nombre par exemple.

Dans votre code, la référence de la cellule 'c3' se trouve entre crochets. Peut-elle être remplacée par une variable comme précédemment ? Comme ça je peux ajouter mon caractère à une cellule spécifique que j'aurais déterminée en amont de ma procédure.

Merci d'avance,
Baptiste
RE...
En adaptant la ligne de destination..."Lig" dans l'exemple
VB:
Sub ajout1()
    Dim TxT As String, Lig&
    TxT = " X"
    Lig = 5    ' lig = la ligne de destination
    With Feuil1
        If Right(.Range("C" & Lig), 1) <> "X" Then
            .Range("C" & Lig).Value = .Range("C" & Lig) & TxT
            With .Range("C" & Lig).Characters(Start:=Len(.Range("C" & Lig)) + 1 - Len(TxT), Length:=Len(TxT)).Font
                .Name = "Arial"
                .FontStyle = "Gras italique"
            End With
        Else
            MsgBox "Le dernier caractère est ''X''"
        End If
    End With
End Sub
 
- 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
3
Affichages
177
Réponses
4
Affichages
486
Réponses
3
Affichages
485
Retour