Formater une cellule

Résolu
flo -  
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

Je n'arrive pas à faire la chose suivante.
Dans un tableau, nous avons différentes cellules avec des chiffres et des lettres (ex : 100 B).

Comment faire pour que les lettres apparaissent en rouge et en gras, tandis que les chiffres restent en noir?

Merci d'avance,
Flo

Ex: Ici BC serait rouge et en gras, tandis que 70 resterait en noir, non gras.
70 BC 55 53
30 39 39
0 6 A 9 A
0 5 A 5 A
0 2 4 A

7 réponses

Tilini Messages postés 1332 Statut Membre 22
 
Il faut séléctionner les lettres séparément dans la barre du haut (je ne me souviens plus comme elle s'appelle) et les mettre en couleur et en gras.
0
flo
 
Merci Tilini.

C'est actuellement ce que je fais. Cependant lorsque j'ai un tableau avec 25 colonnes et 10 lignes, avec des lettres dans toutes les cellules, c'est très long à faire manuellement.

Avez-vous une idée pour le faire automatiquement?

Merci,
Flo
0
Tilini Messages postés 1332 Statut Membre 22
 
Séparer en deux colonnes les chiffres et les lettres; changer l'apparence des lettres puis fusionner les deux colonnes? Est-ce que ça peut aller comme ça?
0
flo
 
En effet, c'est une idée. J'essayerai ceci si je n'arrive pas à mettre en place la macro de michel_m.

Merci pour tes réponses.
Flore
0
Raymond PENTIER Messages postés 71849 Date d'inscription   Statut Contributeur Dernière intervention   17 386
 
Impossible.
soit tu fais 2 colonnes de faible largeur, soit il faut écrire une macro.
0
flo
 
Bonjour Raymond,

Merci pour ton conseil.

Les Antilles, c'est beau. En retraite ou pas...
; )
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Salut Flo et le forum

Cette macro te met les caractères majuscules en rouge gras: tu sélectionne la zone où tu veux traiter (elle peut être discontinue) et tu lances la macro (outils-macros-macros)
Option Explicit
Sub colorier_lettre()
Dim cellule As Range
Dim nbre As Byte, cptr As Byte, caract As String * 1

Application.ScreenUpdating = False
For Each cellule In Selection
    nbre = Len(cellule)
    For cptr = 1 To nbre
        caract = cellule.Characters(cptr, 1).Caption
        If Asc(caract) > 64 And Asc(caract) < 91 Then
            With cellule.Characters(cptr, 1).Font
                .ColorIndex = 3
                 .Bold = True
            End With
         End If
    Next
Next
End Sub
0
flo
 
Bonjour Michel,

Merci beaucoup pour ton aide.
Je vais essayer d'appliquer la macro.

Merci encore,
Flo
0
flo
 
Juste un petit mot pour vous dire que cela fonctionne parfaitement.

Merci et bonne journée,
Flo
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Content pour toi,
Merci pour le merci: ça se fait de + en + rare sur ce forum...
0
NicoDIsso
 
Ne manquerai-t-il pas le
Application.ScreenUpdating = true à la fin de la procédure ?
0
michel_m Messages postés 18903 Date d'inscription   Statut Contributeur Dernière intervention   3 318
 
Non.
ce thread n'est pas nécessaire si la macro rend la main au système
0