• Initiateur de la discussion Initiateur de la discussion Flamy
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

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 ?
 
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
 
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
 
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
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD
Assurez vous de marquer un message comme solution pour une meilleure transparence.

Discussions similaires

  • Question Question
Microsoft 365 Remplissage auto
Réponses
14
Affichages
365
Réponses
6
Affichages
270
Réponses
11
Affichages
356
Réponses
3
Affichages
437
Retour