Mise en forme Première lettre cellule

Bonjour,

je cherche depuis quelques jour, une macro me permettant de faire un mise en forme automatique d'une liste de non de rue classées par ordre alphabétique. en gros je voudrait de la première lettre du premier mot en A soit en gras, rouge et plus grosse et les autre reste normal, pareil pour B puis C .... voir ci-dessous

je part de ça:

Abeilles

Armée

Bains

Boite

Canard

Château

j'aimerais ça :

Abeilles

Armée

Bains

Boite

Canard

Château

j'ai plusieurs tableau à faire de la sorte qui vont de 300 à 900 lignes environ

si cela est trop complexe, est-il possible d'ajouter, via macro aussi, une ligne contenant l'index avant chaque premier mot

A

Abeilles

Armée

B

Bains

Boite

C

Canard

Château

Merci d'avance

Bonjour,

Sub initiale()
    Dim datas, lig As Long, ini As String
    datas = [A1].Resize(Cells(Rows.Count, 1).End(xlUp).Row).Value
    For lig = 2 To UBound(datas)
        If Left(datas(lig, 1), 1) <> ini Then
            ini = Left(datas(lig, 1), 1)
            With Cells(lig, 1).Characters(Start:=1, Length:=1).Font
                .FontStyle = "Gras"
                .Size = 14
                .Color = vbRed
            End With
        End If
    Next lig
End Sub

j'ai supposé que c'était fait une fois, et qu'il n'y avait pas de A à remettre en normal

eric

Merci pour la réponse rapide ça fonctionne parfaitement

je laisse ouvert un peut pour voir si quelqu'un a une solution concernant la deuxième possibilité

Quelle 2ème possibilité ?

Bonjour, salut eriiic !

2ème possibilité dérivée du code proposé par eriiic, à tester :

Sub initiale()
    Dim datas, lig As Long, ini As String
    datas = [A1].Resize(Cells(Rows.Count, 1).End(xlUp).Row).Value
    For lig = UBound(datas) To 1 Step -1
        If ini = "" Then ini = Left(datas(lig, 1), 1)
        If Left(datas(lig, 1), 1) <> ini Then
            Rows(lig + 1).Insert Shift:=xlDown
            Cells(lig + 1, 1) = ini
            ini = Left(datas(lig, 1), 1)
        End If
    Next lig
End Sub

merci pour la réponse, il y a juste un décalage de 1 ligne entre l'index et le premier mot

AUNES (CHEMIN)

B

AUNES (RUE)

BACH

BAINS

ainsi que l'index A qui n'apparait pas ^^ (réédition: il apparait si j'ai au moins 2 ligne vide au dessus du premier mot ) j'ai essayé de comprendre le code mais ayant que quelque notion j'avoue ne pas savoir quelle variable modifier

merci pour la réponse, il y a juste un décalage de 1 ligne entre l'index et le premier mot

AUNES (CHEMIN)

B

AUNES (RUE)

BACH

BAINS

ainsi que l'index A qui n'apparait pas ^^ j'ai essayé de comprendre le code mais ayant que quelque notion j'avoue ne pas savoir quelle variable modifier

Oui, j'ai testé le code entre temps et je me suis aperçu de mon erreur (ce n'était pourtant pas difficile, eriiic à déjà fait tout le boulot !). Réessaye avec le code de mon dernier message, que j'ai actualisé.

Rechercher des sujets similaires à "mise forme premiere lettre"