XL 2016 Liste de choix déroulante avec couleur correspondante RESOLU

chajmi

XLDnaute Occasionnel
Bonjour

Dans ma feuille "SAISIE", je remplie des données à l'aide d'une liste déroulante dans "DONNEES".
Je voudrais également récupérer la couleur de fond de la valeur correspondante.

Comment puis je faire ?

Merci pour votre aide précieuse.
 

Pièces jointes

  • Essai couleur dans menus déroulants.xlsm
    9.3 KB · Affichages: 54

Dranreb

XLDnaute Barbatruc
Bonsoir.
Avec ça dans le module Feuil1 (Saisie) :
VB:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Cel As Range
Set Cel = Feuil2.[B2:B14].Find(What:=Target.Value, LookIn:=xlValues, _
   LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
   MatchCase:=False, SearchFormat:=False)
If Cel Is Nothing Then Exit Sub
Target.Interior.Color = Cel.Interior.Color
End Sub
 

chajmi

XLDnaute Occasionnel
Bonjour,

cf PJ

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
  If Not Intersect([planning], Target) Is Nothing Then
    Application.EnableEvents = False
    On Error Resume Next
    [Couleurs].Find(Target, LookAt:=xlWhole).Copy
    Target.PasteSpecial Paste:=xlPasteFormats
    Application.EnableEvents = True
  End If
End Sub

Bisson


Je suis désolé mais cela ne fonctionne pas.
C'est peut être un problème de version d'Excel ???
Je suis sous Mac Excel version 15.30
 

chajmi

XLDnaute Occasionnel
Bonjour à tous,

Une autre version qui colore toutes les cellules à chaque fois au cas où on aurait supprimé par mégarde les couleur des cellules issues d'une liste de validation.


Je suis désolé mais cela ne fonctionne pas.
C'est peut être un problème de version d'Excel ???
Je suis sous Mac Excel version 15.30

Quand je change une cellules toutes les autres passent en blanc et ensuite plus rien. Cela reste blanc tout le temps. Sinon l'idée état intéressante.

Merci de votre aide
 

chajmi

XLDnaute Occasionnel
Non je n'ai pas changé de classeur.
Par contre, je ne sais pas pourquoi, dans visual basic, ma feuille s'appelait "Feuille2" au lieu de "Feuil2".
Je l'ai donc renommée comme dans le code, mais ça ne marche pas mieux.
J'ai un message d'erreur différent : "Erreur d'exécution « 448 »: Argument nommé introuvable"

Je ne comprends pas et je suis preneur d'une solution.

Merci d'avance à qui pourra m'aider.
Je remets mon fichier avec le code de Dranreb
 

Pièces jointes

  • Essai couleur dans menus déroulants.xlsm
    16.1 KB · Affichages: 23

Si...

XLDnaute Barbatruc
Bon_soir

et ainsi ?
VB:
Private Sub Worksheet_Change(ByVal R As Range)
  Dim C As Range
  Set C = Feuil2.[B3:B14].Find(R,Lookat:=1)
  If Not C Is Nothing Then
  Application.EnableEvents = 0
  C.Copy R
  Application.EnableEvents = 1
  End If
End Sub
 
Dernière édition:

chajmi

XLDnaute Occasionnel
Le classeur joint marche tel quel chez moi. Sur MAC, bon ben c'est sur MAC, quoi…
Ce ne sera pas la dernière fois qu'un truc marche sur Microsoft et pas sur MAC.


Merci à Dranreb et ma pomme.
Effectivement, les 2 solutions fonctionnent sur PC (j'ai un pc au boulot et un mac à la maison)

Mais je pense que c'est un problème de version d'Excel.

Merci à tous pour votre perspicacité.
 

Discussions similaires

Réponses
2
Affichages
267

Statistiques des forums

Discussions
312 103
Messages
2 085 313
Membres
102 860
dernier inscrit
fredo67