Colorier des cellules suivant conditions

Bonjour le forum,

Une fois de plus, je viens solliciter vos compétences.

Sur le fichier ci-joint, je désire colorier les cellules F5 à O18 de la feuille « Plan », suivant les couleurs de fond des cellules C2 à C8 de la feuille « Donn », après avoir cliqué sur le bouton « Colorier ».

J’ai fait des essais en vba, mais sans succés.

Merci par avance de votre aide.

Cordialement,

Bernard

61test-coloriage1.zip (11.71 Ko)

Bonjour,

Essaie ce code

Sub Coloriage()
'macro Dan pour B. Bauduin le 29/03/2010
'http://forum.excel-pratique.com/posting.php?mode=reply&f=2&t=16400
Dim couleur As Range, cel As Range
Set couleur = Sheets("Donn").Range("C1:C" & Sheets("Donn").Range("C65536").End(xlUp).Row)
For Each cel In Range("F5:O18")
If cel > 0 And cel > "" Then
On Error Resume Next
ref = WorksheetFunction.Match(cel, couleur, 0)
Range(cel.Address).Interior.ColorIndex = Sheets("Donn").Range("C" & ref).Interior.ColorIndex
Else: Range(cel.Address).Interior.ColorIndex = -4142
End If
Next
End Sub

Amicalement

Dan

Bonjour Dan,

Un grand merci pour cette magnifique solution.

Si je rajoute « Option Explicit », je suppose que je dois indiquer « Dim ref As Range ».

Par contre, je ne vois pas la signification de -4142. Si tu as le temps et la bonté de me donner une explication.

Cordialement,

Bernard

re,

Oups, désolé pour le dim manquant.

Mets

Dim Ref as integer

Le -4142 équivaut à aucun remplissage de couleur. Cela revient à mettre "aucun" dans ta palette de couleur.

Amicalement

Dan

Bonjour Dan, le forum,

Merci pour tes explications, car ma supposition était fausse. Il ne me reste plus qu’à me replonger dans l’étude de ton code.

Cordialement,

Bernard

Rechercher des sujets similaires à "colorier suivant conditions"