Plusieurs couleur même cellule

Bonjour a tous,

Je suis nouveau, je débute sur excel et je n'ai pas encore eu l'occasion de dev en VBA, je pense qu'il va falloir bien s'y mettre.

Je bloque sur une première chose :

Mettre automatiquement une couleur a une lettre.

J'ai 5 lettres a utiliser seulement.

Exemple : je tape "VDD" dans une cellule j'aimerais que la lettre "V" soit d'une couleur et la lettre "D" dans une autre couleur automatiquement, cela me ferait gagner enormement de temps que de repasser lettre par lettre car je peux avoir des exemples du genre : VDFDFVDEEEC, changez la couleur de chaque lettre une par une c'est vraiment la misère.

Est ce que c'est faisable dans un premier temps?

Merci pour toute aide.

Cordialement,

bonjour

une méthode sans VBA :

  • mettre une lettre et une seule par cellule (grâce à une fonction comme STXT(;;)
  • mettre des mises en formes conditionnelles dans ces cellules
  • pour faire illusion, masquer les bordures de colonnes (en blanc) ainsi on pense voir une seule cellule au lieu de 10

oui dejà penser à ca, mais vraiment pas pratique et aux finale obligé de creer à chaque fois de nouvelles cellules.

Et pour la saisie de texte vraiment pas top

Bonjour

On peut très certainement améliorer le code mais il fonctionne :

Sub Test()

Lettre1 = "V"
    For Each c In Range("A2:A" & [A65000].End(xlUp).Row)
        rep = InStr(UCase(c), UCase(Lettre1))
        If rep > 0 Then
             With c.Characters(Start:=rep, Length:=Len(Lettre1))
            .Font.Bold = True
            .Font.ColorIndex = 3
            End With
        End If
     Next c

Lettre2 = "D"
    For Each c In Range("A2:A" & [A65000].End(xlUp).Row)
        rep = InStr(UCase(c), UCase(Lettre2))
        If rep > 0 Then
             With c.Characters(Start:=rep, Length:=Len(Lettre2))
            .Font.Bold = True
            .Font.ColorIndex = 5
            End With
        End If
     Next c

End Sub

Amicalement

Nad

merci je vais essayer de mettre ceci en place

gardou a écrit :

oui dejà penser à ca, mais vraiment pas pratique et aux finale obligé de creer à chaque fois de nouvelles cellules.

Et pour la saisie de texte vraiment pas top

re,

bon tu pars sur du VBA

mais je n'ai pas compris le problème de la saisie que tu évoques ci-dessus : en fait, il suffit de saisir comme d'habitude ton texte dans une cellule. C'est la fonction STXT qui fait le reste.

et pas compris non plus la création à chaque fois de nouvelles cellules : les formules se recopient sans difficulté vers le bas.

je confirme le code est fonctionnel j'ai 2 soucis encore :

1) j'ai utilisé l'evenement ci dessous :

Private Sub Worksheet_Change(ByVal Target As Range)

Donc a chaque modification de cellule je lance par exemple ton code

Private Sub Worksheet_Change(ByVal Target As Range)

Lettre1 = "V"

For Each c In Range("A2:A" & [A65000].End(xlUp).Row)

rep = InStr(UCase(c), UCase(Lettre1))

If rep > 0 Then

With c.Characters(Start:=rep, Length:=20)

.Font.Bold = True

.Font.ColorIndex = 3

End With

End If

Next c

Le problème c'est que toutes les cellules changent ca fait bizarre, comment je pourrais amelioré ceci? en changeant la boucle ou l'evenement n'est pas optimal?

2) Mon plus gros problème :

With c.Characters(Start:=rep, Length:=Len(Lettre1))

Si j'ai bien compris on arrête le changement de couleur dès qu'on a trouvé la bonne lettre.

Donc j'ai changé en remplacent la taille par 20.

Le problème est le suivant :

Si je tape par exemple : VVDV

Les 2 premiers "V" vont bien être pris en compte, ainsi que le D mais le dernier "V" n'est pas pris en compte dans la boucle.

Une idée de l'optimisation? rajouté une boucle mais la je vois pas trop ce que je pourrais faire

merci


jmd a écrit :
gardou a écrit :

oui dejà penser à ca, mais vraiment pas pratique et aux finale obligé de creer à chaque fois de nouvelles cellules.

Et pour la saisie de texte vraiment pas top

re,

bon tu pars sur du VBA

mais je n'ai pas compris le problème de la saisie que tu évoques ci-dessus : en fait, il suffit de saisir comme d'habitude ton texte dans une cellule. C'est la fonction STXT qui fait le reste.

et pas compris non plus la création à chaque fois de nouvelles cellules : les formules se recopient sans difficulté vers le bas.

re,

pour les cellules si j'ai bien compris, mon soucis n'est pas sur la création des cellules vers le bas mais par la droite )

désolé si je m'exprime mal sur le sujet je suis vraiment débutant

mais par exemple si j'ai 3 cellule : A1,B1,C1 toutes remplis, la modification je veux seulement la faire sur A1 il faudra que j'insère une cellule entre A1 et B1 non?

Cordialement,

en effet, c'est pas pratique

sauf à faire la saisie en ligne 2 et mettre les cellules colorées à partir de la ligne 3 puis remasquer la ligne 1. Pas génial.

rem : j'ai trop l'habitude de la gestion de données sous Excel (toujours en colonnes)

Re

Désolée, je ne sais pas faire mieux.

J'avais juste essayer d'adapter un code que j'avais.

Nad

Rechercher des sujets similaires à "couleur meme"