Macro pour changer la couleur des x premiers caractères
- Messages
- 104
- Excel
- Office 365
- Inscrit
- 15/06/2015
- Emploi
- Chef de mission Expertise Comptable
Bonjour tout le monde,
Cela fait un moment que je cherche a savoir si mon besoin est réalisable sur excel.
Je m'explique : je cherche a changer la couleur / police (soit mettre en rouge ou (et) en gras) les 30 premiers caractères contenus dans les cellules d'une colonne d'un fichier excel.
Le but étant de visuellement distinguer quels caractères vont être importés dans un logiciel par la suite. Dans mon cas tous les caractères après le 30ème ne seront pas repris, j'ai besoin de voir si ce qui sera mis de cote lors de mon importation est important ou non.
J'ai tester du coté d'une mise en forme conditionnelle mais rien n'est prévu pour.. et le VBA et mois ça fait encore bien plus de 2 !
Merci d'avance à ceux qui auront la gentillesse de m'aider.
Bonne journée
- Messages
- 104
- Excel
- Office 365
- Inscrit
- 15/06/2015
- Emploi
- Chef de mission Expertise Comptable
Finalement, j'ai trouvé tout seul.
Je poste ma solution au cas ou cela intéresse quelqu'un :
Sub CARACTERES()
'
' CARACTERES Macro
'
'CETTE MACRO PERMET DE MODIFIER LES 30 PREMIER CARACTÈRES EN ROUGE ET GRAS - DÉPART COLONNE B LIGNE 2
If MsgBox("Voulez vous vraiment mettre en évidence les 30 premiers caractères de la colonne B?", vbYesNo, "ATTENTION") = vbYes Then
Range("B2").Select
' Boucle tant que pas vide
Do While Not (IsEmpty(ActiveCell))
With ActiveCell.Characters(Start:=1, Length:=0).Font
.Name = "Times New Roman"
.FontStyle = "Normal"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.Color = -16777216
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
With ActiveCell.Characters(Start:=1, Length:=30).Font
.Name = "Times New Roman"
.FontStyle = "Gras"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.Color = -16776961
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
With ActiveCell.Characters(Start:=31, Length:=58).Font
.Name = "Times New Roman"
.FontStyle = "Normal"
.Size = 10
.Strikethrough = False
.Superscript = False
.Subscript = False
.OutlineFont = False
.Shadow = False
.Underline = xlUnderlineStyleNone
.Color = -16777216
.TintAndShade = 0
.ThemeFont = xlThemeFontNone
End With
Selection.Offset(1, 0).Select
Loop
End If
End Sub