× Aidez la recherche contre le COVID-19 avec votre ordi ! Rejoignez l'équipe PC Astuces Folding@home
 > Tous les forums > Forum Bureautique
 Excel 2010 : Colorer une cellule avec des composantes RVBSujet résolu
Ajouter un message à la discussion
Pages : [1] 2 ... Fin
Page 1 sur 2 [Fin]
Naga_astuce
  Posté le 16/10/2015 @ 08:57 
Aller en bas de la page 
Astucien

Salut à tous,


J'utilise Excel 2010, je souhaiterais colorer une cellule en utilisant les composantes RVB (Rouge, Vert, Bleu) indiquées dans 3 autres cellules (une par composante).

Est-il possible de faire ça et comment ?

Merci

Naga

Publicité
dlxpat
 Posté le 16/10/2015 à 12:16 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour. En passant peut être par une mise en forme conditionnelle. Par exemple en A1 taper 1, en B1 (cellule à colorier), entrer la MFC : =A1=1 choisir dans "remplissage" la couleur que vous. Créer autant de MFC que de couleur en changeant naturellement le chiffre dans A et la couleur dans les MFC.

Naga_astuce
 Posté le 16/10/2015 à 12:31 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien
dlxpat a écrit :

Bonjour. En passant peut être par une mise en forme conditionnelle. Par exemple en A1 taper 1, en B1 (cellule à colorier), entrer la MFC : =A1=1 choisir dans "remplissage" la couleur que vous. Créer autant de MFC que de couleur en changeant naturellement le chiffre dans A et la couleur dans les MFC.

Bonjour dlxpat,

Pour être honnête, je n'ai pas très bien compris tes explications. Le but étant justement de ne pas utiliser le Remplissage manuellement mais automatiquement.

Mon problème est le suivant :

J'ai 3 cellules qui contiennent respectivement les 3 composantes de la couleur qui va me permettre de colorer une 4ème cellule (qui me sert d'aperçu visuelle de la couleur en fait).

Exemple avec A1 pour le rouge, B1 pour le vert, C1 pour le bleu et D1 pour l'aperçu :

A1 = 0, B1 = 128, C1 = 255 -> me permet d'avoir automatiquement la 4ème cellule D1 colorée en bleu.

J'ai regardé les mises en forme conditionnelles et dans les fonctions mathématique, mais je n'ai rien vu qui puisse m'aider.

Naga



Modifié par Naga_astuce le 16/10/2015 12:32
dlxpat
 Posté le 16/10/2015 à 14:34 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour ! c'est peut-être moi qui n'ai pas compris votre demande. Je vous joint un fichier test (excel 2007 !!!), pour être plus explicite. En espérant que ceci réponde à votre attente.

Nota : tout est automatique dans la MFC, reste manuel le fait de saisir une valeur en A1 !

http://www.cjoint.com/c/EJqmETtBEk6

Naga_astuce
 Posté le 16/10/2015 à 16:52 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Merci avec cet exemple.

En effet, ceci ne correspond par à mon besoin.

En fait je créer un tableau qui donne des indications à des utilisateurs pour colorer des objets dans un autre logiciel suivant une codification précise donnée dans ce tableau.

Donc, je voudrais faire apparaître, dans ce tableau, les composantes RVB de ces couleurs et mettre un petit échantillon de la couleur correspondante dans une cellule.

Dans ton exemple, la donnée d'entrée qui permet de colorer la cellule n'a de rapport avec la couleur que la règle de mise en forme automatique que tu as créés.

Donc, pour faire simple, le tableau Excel met en évidence le résultat de l'association de 3 valeurs RVB.

J'espère être clair :)

Naga

dlxpat
 Posté le 16/10/2015 à 17:20 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Désolé mais je ne comprend toujours pas bien votre demande ! déjà qu'est-ce que les composantes RVB (rouge....) ? Vous voulez créer une couleur qui est un mélange des trois !!!

Je cale en espérant pour vous que d'autres comprennent votre besoin. Bonne chance à vous

Naga_astuce
 Posté le 16/10/2015 à 18:57 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Les couleurs peuvent se décomposer un trois couleurs élémentaires :

En mélangeant les trois couleurs primaires additives RVB sur un écran (support lumineux), on obtient tout le spectre des couleurs. Les trois composantes équilibrés donne du blanc.

En mélangeant les tois couleurs primaires soustractives CMJ sur une feuille de papier (support mate), on obtient également tout le spectre des couleurs. Les trois composantes équilibrés donne du noir.

Les écrans, TV, imprimantes utilisent ses couleurs primaire. Quand tu achètes des cartouches d'encre pour ton imprimante, tu achètes du Cyan, Magenta et Jaune (plus le noir).

Ta question me permet de mieux comprendre ton incompréhension sur mon problème.

Naga

Edit :

En informatique, les couleurs additives pour les écran par exemple, sont composés de ses trois composantes dont les proportion sont quantifiées par des valeurs numérique de 0 à 255.

Par exemple, pour mon cas, j'utilise des couleurs additive, donc rouge, vert et bleu :

  • 255 0 0 donnera du rouge
  • 0 255 0 donnera du vert
  • 0 0 255 donnera du bleu
  • 0 0 0 donnera du noir
  • 255 255 255 donnera du blanc



Modifié par Naga_astuce le 16/10/2015 19:03
dlxpat
 Posté le 16/10/2015 à 20:06 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Il y a quelques jours je postais un message, dans lequel je disais être un peu "gêné" par :

- ceux qui ne lisaient pas les réponses aux questions qu'ils avaient eux-mêmes posées,

- ceux qui ne remerciaient pas les internautes qui avaient passé du temps à essayer de les dépanner,

Aujourd'hui je pourrais rajouter : ceux qui prennent les autres pour des incultes, et qui ne répondent pas aux questions posées (posées pour toujours essayer de rendre service !).

Ne prenez pas la peine de me répondre, je n'ouvrirais plus cette discussion, même si il me tarde de savoir si il y quelques personnes qui ont su déchiffrer et solutionner votre problème.

Bien à vous.

ferrand
 Posté le 17/10/2015 à 01:03 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonsoir,

Ce que tu ne dis pas, c'est comment tu veux procéder. Il est facile de colorer une cellule à l'aide d'une macro :

Sub Colorer(r As Integer, g As Integer, b As Integer, dest As Range)
dest.Interior.Color = RGB(r, g, b)
End Sub

et pour tester :

Sub test()
Colorer [A1], [B1], [C1], ActiveCell
End Sub

mais on ne peut en faire une fonction permettant de colorer la cellule dans laquelle elle se trouverait.

Tu peux donc, soit déclencher manuellement, soit utiliser un évènement qui pourra lancer le coloriage après vérification de conditions que tu auras prédéfinies...

Cordialement

Publicité
Naga_astuce
 Posté le 17/10/2015 à 11:16 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

dlxpat,

Malgré votre mépris pour ma réponse précédente et le fait que vous ne me lirez pas, je vais quand même prendre de mon temps pour vous répondre.

Je pense qu'on ne s'est pas bien compris, vous me demandez des explications sur, je cite "déjà qu'est-ce que les composantes RVB (rouge....) ?", je me donne la peine et le temps de vous répondre et vous m'envoyez balader car je vous prendrais pour un inculte.

Je pensais avoir répondu à votre question. De plus, je vous ai expliqué pourquoi votre solution ne correspondait pas à mon problème, mais visiblement, je vous cite encore "et qui ne répondent pas aux questions posées".

"su déchiffrer et" quelle langue dois-je utiliser pour que vous me compreniez ? L'inculte aimerait le savoir.

Donc merci du temps que vous avez passé pour moi ainsi que l'exemple que vous vous êtes donné la peine de me fournir (j'espère pouvoir éviter le, et encore une citation, "ceux qui ne remerciaient pas les internautes qui avaient passé du temps à essayer de les dépanner,").

ferrand,

Je vais regarder ce que je peux faire avec les macros, je pensais qu'il y avait plus simple d'autant plus que je ne suis pas trop à l'aise avec mes macros.

En fait, je voulais faire au plus simple, tu rentres les 3 composantes dans 3 cellules et ça en colorie une 4ème. Vu que je dois avoir quelques 200 cellule à colorer à saisir, je pensais faire ça en automatique.

Merci, je testerais lundi (le fichier est au taff) :)

Je te tiens au courant :)

Naga



Modifié par Naga_astuce le 17/10/2015 11:20
yojema
 Posté le 17/10/2015 à 12:13 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Hello

avec un fichier excel exemple peut etre il serait plus simple de comprendre votre demande

parfois la logique des uns se confronte a celle des autres ! En montrant d ou tu pars dans un fichier excel

ce que tu rempli et ce que tu souhaite comme resultat quand c est fait ! ça permet aux astuciens

de mieux cerné ton souci et de mieux t aider sinon on assiste a des dialogue de sourd comme cela semble etre

le cas en ce moment !

a +

Naga_astuce
 Posté le 17/10/2015 à 12:17 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

yojema,

Tu as raison, je vais préparer quelque chose que je mettrais en ligne dans la journée.

Faut que je trouve 5 min pour le faire.

Bon app à tous :)

Naga

Naga_astuce
 Posté le 17/10/2015 à 13:41 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Voici le tableau en question (que j'avais sur une clef USB), je l'ai épuré de ses données sensibles et je l'ai commenté.

-> http://www.cjoint.com/c/EJrlLQ7Gjk7 (nota : J'ai validé la création du lien trop vite sur cjoint, je ne sais pas combien de temps il sera valable).

Merci à tous pour l'aide que vous avez consacré à mon problème.

Je vais voir de mon coté pour la solution proposée par ferrand.

Naga

secujac
 Posté le 17/10/2015 à 14:52 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour,

Suis pas sûr d'avoir compris le but recherché...

Tu souhaiterais que lorsque l'on rentre une valeur dans la colonne rouge, une dans la colonne vert, une dans la colonne bleue, cela affiche dans la dernière colonne la nuance de couleur obtenue par le mélange des différentes nuances et pourcentages de rouge, de vert, de bleu ???

De manière à avoir pour couleur de fond de la dernière cellule un modèle de couleur pour d'autres applications ???

Si c'est bien cela, je crains que ce ne soit pas possible, excel n'étant pas un logiciel graphique, mais bonne chance.

ferrand
 Posté le 17/10/2015 à 18:24 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonjour,

Private Sub Worksheet_Change(ByVal Target As Range)
Dim n%, i%, rvb(2) As Integer
If Target.Column > 4 And Target.Column < 8 And Target.Row > 6 Then
n = Target.Row
For i = 5 To 7
If Me.Cells(n, i).Value <> "" Then
On Error GoTo errnum
rvb(i - 5) = CInt(Me.Cells(n, i).Value)
If rvb(i - 5) < 0 Or rvb(i - 5) > 255 Then
Me.Cells(n, i).ClearContents
Exit Sub
End If
On Error GoTo 0
Else
Exit Sub
End If
Next i
Me.Cells(n, 8).Interior.Color = RGB(rvb(0), rvb(1), rvb(2))
End If
Exit Sub
errnum:
Me.Cells(n, i).ClearContents
End Sub

Procédure évènementielle (à voir dans le module de la feuille).

http://www.cjoint.com/c/EJrqylgc6z8

Cordialement

Milloche51
 Posté le 17/10/2015 à 20:54 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour

Si j'ai bien compris, c'est ça.

http://www.cjoint.com/c/EJrsZGoSNTE

secujac
 Posté le 17/10/2015 à 21:06 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonsoir,

Milloche51, chapeau bas.

C'est bien ce que j'avais compris qu'il voulait, mais ne pensais pas que ce soit possible.

Ca m'intéresserait de savoir ce qu'il veut faire avec ça, car je n'arrive pas à imaginer l'utilité.

Bon dimanche.

Publicité
ferrand
 Posté le 17/10/2015 à 21:42 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Bonsoir,

C'est pas nouveau ! C'est clair depuis le début, ce n'est pas soluble sans macro.

Cordialement

Milloche51
 Posté le 18/10/2015 à 00:16 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Essaie de mettre ça dans un module de ton fichier

Sub apercu()
Range("h6").Select
For i = 1 To 100
x = ActiveCell.Offset(0, -3)
y = ActiveCell.Offset(0, -2)
z = ActiveCell.Offset(0, -1)
ActiveCell.Interior.Color = RGB(x, y, z)
ActiveCell.Offset(1, 0).Select
Next i
[h6].Select
End Sub


JMM

ferrand
 Posté le 18/10/2015 à 01:37 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

@Milloche : à qui t'adresses-tu ?

Tu n'as pas lu, semble-t-il, le sujet depuis le début !

Milloche51
 Posté le 18/10/2015 à 03:30 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Ferrand

Comprerds pas ce que tu veux dire ?

Naga_astuce
 Posté le 18/10/2015 à 10:06 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

à tous,

Merci beaucoup pour vos retours :)

Je vous répondrais en détail demain car je suis absent aujourd'hui.

Toutes mes excuses :)

Naga

Milloche51
 Posté le 18/10/2015 à 14:16 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Bonjour Ferrand

Attention, petite erreur dans ton code à la première ligne, la première vignette étant en ligne 6 ne répond pas.

If Target.Column > 4 And Target.Column < 8 And Target.Row > 6 Then mettre > 5

D'autrepart une question. J' ai rencontré plusieurs fois "Me" dans des macros mais malgrés le contexte, je n'ai jamais réussi à comprendre ce que c'est. Peux tu STP m'en dire un mot.

Rien dans l'aide.

If Me.Cells(n, i).Value <> "" Then

Me.Cells(n, i).ClearContents

Merci

Milloche

ferrand
 Posté le 18/10/2015 à 14:54 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Exact, il faut remplacer 6 par 5 pour couvrir la première ligne...

Me est un mot-clé utilisable pour référer à l'objet dans un module spécifique à cet objet.

Dans le module de Feuil1, Me équivaut à Worksheets("Feuil1")

Dans le module de Userform1, Me équivaut à Userform1...

Cordialement

Milloche51
 Posté le 18/10/2015 à 16:16 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Petit astucien

Merci Ferrand

Je t'entends déjà dire "il m'en ce miilloche !" Si Si,

Voilà je t'ai pompé un peu et j'ai retiré tout ce qui était du javanais pour moi.

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column > 4 And Target.Column < 8 And Target.Row > 5 Then
If Target > 255 Or Target < 0 Or Target = "" Then
MsgBox "Hors limites": ActiveCell = 0: Exit Sub
End If
x = ActiveCell.EntireRow.Cells(5).Value
y = ActiveCell.EntireRow.Cells(6).Value
z = ActiveCell.EntireRow.Cells(7).Value
On Error Resume Next
ActiveCell.EntireRow.Cells(8).Interior.Color = RGB(x, y, z)
End If
End Sub

Notre ami allergique aux macros risque même de comprendre celle là.



Modifié par Milloche51 le 18/10/2015 19:16
ferrand
 Posté le 19/10/2015 à 01:55 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
  Astucien

Oui ! Mais ce javanais à tes yeux remplit une fonction, double : ne pas planter en cas d'erreur de l'utilisateur et pré-rectifier les erreurs par effacement pour qu'il n'ait pas besoin de le faire manuellement, et ne pas décider à la place de l'utilisateur (ce que tu fais en mettant 0, valeur prise en compte comme composante de couleur).

Processus : on teste les valeurs de chaque cellule en assortissant d'une gestion d'erreur : le test se fait en convertissant en Entier (Integer) la valeur saisie.

Si des valeurs texte sont saisies ou des nombres hors limites de validité du type Integer, cela déclenchera une erreur, récupérée par effacement de la valeur.

Si par inadvertance un nombre décimal est saisi, il sera ramené à une valeur entière sans déclencher d'erreur. On teste ensuite si les valeurs saisies sont dans la fourchette de validité des composantes couleurs, et on efface si ce n'est pas le cas.

Et si le test fait apparaître une cellule vide, c'est que l'utilisateur n'a pas encore saisi, donc on laisse et on ne fait rien en attendant la prochaine saisie. (Alors qu'en mettant 0 quand la cellule est vide, tu vas faire apparaître une couleur dès la première saisie, du rouge plus ou moins intense s'il commence par la première cellule (voire noir si sa saisie est 0 ou s'en approche), l'obligeant à remplacer tes 0 par les valeurs qu'il souhaite...

En plus, tu lui colores la ligne entière alors que sa demande ne concerne qu'une seule cellule.

Pour ce qui est du message d'avertissement, son utilité est sujette à caution, tu l'obliges à cliquer 2 fois sur "OK" à la première saisie pour voir ensuite une couleur qu'il n'a pas choisi !

Et en cas de valeurs texte (ou de valeurs décimales) tu n'empêches pas le déclenchement d'une erreur inévitable.

Si naga souhaite des messages (cas où son système est utilisé par des gens qui n'ont pas sa connaissance des couleurs), il peut les intercaler aux endroits utiles pour signaler selon le cas que la saisie est erronée et que les valeurs valides sont des entiers compris de 0 à 255.

Cordialement

Publicité
Pages : [1] 2 ... Fin
Page 1 sur 2 [Fin]

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Les bons plans du moment PC Astuces

Tous les Bons Plans
11,34 €Carte mémoire Samsung 64 Go MicroSDXC Evo Plus U3 à 11,34 €
Valable jusqu'au 12 Avril

Un vendeur sur Amazon fait une promotion sur la carte mémoire Samsung 64 Go MicroSDXC Evo Plus U3 qui passe à 11,34 € livrée gratuitement. Elle est idéale pour les téléphones, caméras et appareils photo 4K. Elle est étanche, anti-choc et résiste aux rayons X et aux champs magnétiques. 


> Voir l'offre
194,82 €Disque dur externe USB 3.0 Seagate 10 To à 194,82 € livré
Valable jusqu'au 12 Avril

Amazon Espagne propose le disque dur Seagate Expansion Desktop Drive 10 To à 188,42 €. Comptez 6,40 € pour la livraison en France soit un total de 194,82 € alors qu'on le trouve ailleurs à partir de 270 €. Le disque est non soudé et vous pourrez le récupérer pour l'utiliser dans un ordinateur, un NAS, etc.

Vous pouvez utiliser votre compte Amazon France sur Amazon Espagne et il n'y a pas de douane.


> Voir l'offre
35,99 €Carte mémoire SDXC UHS-I U3 SanDisk Extreme Plus 128 Go (jusqu'à 170 Mo/s) à 35,99 €
Valable jusqu'au 10 Avril

Amazon fait une promotion sur la carte mémoire SDXC UHS-I U3 SanDisk Extreme Plus d'une capacité de 128 Go qui passe à 35,99 € livrée gratuitement alors qu'on trouve la carte ailleurs à partir de 60 €. Cette carte mémoire offre des vitesses jusqu'à 170 Mo/s en lecture et 90 Mo/s en écriture et intègre des mécanismes afin de gérer l'usure des cellules de la carte et augmenter ainsi sa durée de vie. Une valeur sûre pour les plus exigeants. Elle résiste aux températures extrêmes, à l'eau, aux chocs et aux rayons X. La carte est fournie avec le logiciel de récupération de données RescuePRO Deluxe qui facilite la récupération des fichiers qui ont été effacés accidentellement.


> Voir l'offre

Sujets relatifs
case à cocher dans cellule Excel 2010
Excel 2010 et mode reference d'une cellule
Besoin d'aide pour commencer avec Excel 2010
soucis avec Excel starter 2010 pour imprimer..
Excel cellule avec résultat opération
Excel: relation d'une cellule avec une autre
Référencement de cellule (syntaxe) avec Excel 2003
cellule avec formule dans excel
Avec excel ,Peut on colorer ....(Resolu)
Excel 2007 Avec macros sous Excel 2013
Plus de sujets relatifs à Excel 2010 : Colorer une cellule avec des composantes RVB
 > Tous les forums > Forum Bureautique