Ceci est une page optimisée pour les mobiles. Cliquez sur ce texte pour afficher la vraie page.

Excel

F

Flamy

Guest
Dans un tableau contenant des cellules colorées, je voudrai effacer les valeurs existantes et en attribuer de nouvelles en fonction des couleurs : jaune = 1, vert = 2, bleu = 3 .....
Comment y arriver ?
 

Celeda

XLDnaute Barbatruc
Bonsoir,

tout d'abord, il faut toujours commencer par une formule bonsoir, bonjour ect et remercier à la sortie les éventuelles réponses,
car il y a de gens sur ce forum qui prennent sur le temps pour répondre ou du moins essayer.

Pour ce que tu veux faire : tu as plusieurs options :

* en format conditionnel sachant que les régles de mises en formes supportent seulement 4 couleurs conditionnelles si on compte le fond

* passer par vba et il existe moults exemples sur le forum à adpater, pour y arriver

DOnc tout dépend de comment et du pourquoi de ton fichier. Peux-tu, svp, placer un petit bout de celui-ci zippé pour que l'on comprenne plus ce que tu veux réaliser, car tes cellules colorées elle se colorent comment au départ ?

Celeda
 

Gérard DEZAMIS

XLDnaute Accro
Bonsoir Flamy

Un début de piste

for i=1 to 100
If Range('A' & i).Interior.ColorIndex = 6 Then
Range('A' & i).Value = 1
Range('A' & i).Interior.ColorIndex = 0
End If
next

Change la couleur jaune des cellules de la plage A1:A100 en valeur =1 et remet le fond en blanc

Si cela peut t'aider

@+ GD
 

Rénato

XLDnaute Occasionnel
Bonjour Flamy, Salut mon ami Gérard, Bonsoir Princesse Celeda.

Premier Conseil à Flamy, pour obtenir des réponses à tes prochains posts......suivre les recommandations de notre Celeda nationale.

Tout d'abord, si tes couleurs sont incrémentées par une Mise en Forme Conditionnelle, la solution ci-dessous ne marchera pas.
Dans le cas contraire, exécuter tout d'abord le code ci-après :

Sub Renato()
For i = 1 To 56

Range('A' & i).Interior.ColorIndex = i
Range('B' & i) = i

Next i
End Sub

En fonction des couleurs obtenues à partir de la palette, selectionne tes couleurs et valeurs numériques correspondantes pour modifier le script qui suit et l'adapter à ton besoin. Ici j'ai opté pour les valeurs 6 (jaune) 4 (vert) et 8 (bleu) qui ne sont sauf coup de chance exceptionnel (mais je n'ai jamais rien gagné au loto) les couleurs que tu avais déja selectionnées.

J'ai appliqué arbitrairement la macro sur la plage A2:A500

Sub ChangeValeurCellule()
Dim c As Range
For Each c In Range('A2:A500')
Select Case c.Interior.ColorIndex
Case Is = 6
c.Value = '1'
Case Is = 4
c.Value = '2'
Case Is = 8
c.Value = '3'
End Select
Next
End Sub


...en réalisant ces deux petites retouches ça devrait marcher.

Cordialement
 

Discussions similaires

Les cookies sont requis pour utiliser ce site. Vous devez les accepter pour continuer à utiliser le site. En savoir plus…