Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

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
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
 
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
592
Réponses
3
Affichages
566
Compte Supprimé 979
C
Réponses
1
Affichages
707
Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…