La couleur de la police change en fonction de la lettre
Résolu/Fermé
A voir également:
- La couleur de la police change en fonction de la lettre
- Fonction si et - Guide
- Changer la couleur de la barre des taches - Guide
- Changer de dns - Guide
- Changer la lettre d'un disque dur - Guide
- Changer la police sur facebook - Guide
3 réponses
Mike-31
Messages postés
18350
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
28 novembre 2024
5 106
Modifié par Mike-31 le 2/03/2015 à 18:33
Modifié par Mike-31 le 2/03/2015 à 18:33
Re,
voila deux exemples en A1:A20 et C1:C20
https://www.cjoint.com/?ECcsSrqHAwS
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
voila deux exemples en A1:A20 et C1:C20
https://www.cjoint.com/?ECcsSrqHAwS
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
2 mars 2015 à 15:53
2 mars 2015 à 15:53
Bonjour
En vba. Faire Alt F11 pour accéder a l'éditeur. Ensuite cliquer sur la feuille concernée en haut à gauche et mettre ce code:
Il suffit après avoir saisie le texte dans la cellule de cliquer pour voir apparaître les lettres en couleur
En vba. Faire Alt F11 pour accéder a l'éditeur. Ensuite cliquer sur la feuille concernée en haut à gauche et mettre ce code:
Dim texte As String Dim pos As Integer Dim x As Integer Private Sub Worksheet_SelectionChange(ByVal Target As Range) Static selection_precedente As String 'Enregistrement de l'adresse de la sélection actuelle : selection_precedente = Target.Address texte = Target.Value Macro1 Macro2 End Sub Sub Macro1() Do 'Boucle tant que le compteur x est inférieur au texte Do While x < Len(texte) 'Incrémente le compteur. x = x + 1 'condition : si le xième caractère du texte correspond If Mid(texte, x, 1) = "p" Then pos = x 'définit la variable pos With ActiveCell.Characters(Start:=pos, Length:=1).Font .Name = "Arial" .FontStyle = "Normal" .Size = 10 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = 3 'rouge End With End If 'fin de la condition Loop Loop Until x = Len(texte) End Sub Sub Macro2() Do 'Boucle tant que le compteur x au texte Do While x < Len(texte) 'Incrémente le compteur. x = x + 1 'condition : si le xième caractère du texte correspond If Mid(texte, x, 1) = "t" Then pos = x 'définit la variable pos With ActiveCell.Characters(Start:=pos, Length:=1).Font .Name = "Arial" .FontStyle = "Normal" .Size = 10 .Strikethrough = False .Superscript = False .Subscript = False .OutlineFont = False .Shadow = False .Underline = xlUnderlineStyleNone .ColorIndex = 5 'bleu End With End If 'fin de la condition Loop Loop Until x = Len(texte) End Sub
Il suffit après avoir saisie le texte dans la cellule de cliquer pour voir apparaître les lettres en couleur
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
729
2 mars 2015 à 16:00
2 mars 2015 à 16:00
Une petite omission si la cellule sélectionnée ne contient aucun texte mettre ceci:
a la place de:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Static selection_precedente As String 'Enregistrement de l'adresse de la sélection actuelle : selection_precedente = Target.Address texte = Target.Value If texte = "" Then Exit Sub Macro1 Macro2 End Sub
a la place de:
Private Sub Worksheet_SelectionChange(ByVal Target As Range) Static selection_precedente As String 'Enregistrement de l'adresse de la sélection actuelle : selection_precedente = Target.Address texte = Target.Value Macro1 Macro2 End Sub
Kouassi
>
cs_Le Pivert
Messages postés
7904
Date d'inscription
jeudi 13 septembre 2007
Statut
Contributeur
Dernière intervention
14 août 2024
2 mars 2015 à 17:25
2 mars 2015 à 17:25
Merci de m'aider cs_Le Pivert,
je ne sais pas si j'utilise bien le code mais il ne marche que pour la première entrée sur la feuille et seulement si cette entrée est un ''p''.
Très cordialement,
Ruphin KOUASSI
je ne sais pas si j'utilise bien le code mais il ne marche que pour la première entrée sur la feuille et seulement si cette entrée est un ''p''.
Très cordialement,
Ruphin KOUASSI
Mike-31
Messages postés
18350
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
28 novembre 2024
5 106
Modifié par Mike-31 le 2/03/2015 à 17:39
Modifié par Mike-31 le 2/03/2015 à 17:39
Bonsoir,
Pourquoi ne pas faire simple avec une mise en forme conditionnelle, exemple si les valeurs sont en colonne A, sélectionner la plage exemple A1 à A50
Mise en forme conditionnelle
la formule pour cette plage sera
=GAUCHE(A1;1)="P"
format, sélectionner le type de colorisation
idem pour t
à part que tu veuilles donner une couleur à chaque lettre de la chaine, mais dans quel intérêt
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
Pourquoi ne pas faire simple avec une mise en forme conditionnelle, exemple si les valeurs sont en colonne A, sélectionner la plage exemple A1 à A50
Mise en forme conditionnelle
la formule pour cette plage sera
=GAUCHE(A1;1)="P"
format, sélectionner le type de colorisation
idem pour t
à part que tu veuilles donner une couleur à chaque lettre de la chaine, mais dans quel intérêt
A+
Mike-31
Une période d'échec est un moment rêvé pour semer les graines du savoir.
3 mars 2015 à 08:59
c'est super ça marche parfaitement
http://www.cjoint.com/?ECdjhLF4Sg9
grand merci !!!