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 ?
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.
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 ?
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
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.
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.
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