liste de validation

L

lm76000

Guest
bonjour,

peux t-on créer une liste de validation qui tient compte de la mise en forme des cellules sources.

d'avance merci.
 
C

Celeda

Guest
Bonsoir,


si tu parles de reproduire les couleurs des cellules sources, il faudra refaire un format de mise en forme conditionnelle sur les listes déroulantes en fonction des résultats à afficher.....

envoie toujours un exemple démo de quelques lignes, en fichier zippé de moins de 50 Ko,

parce qu'on pourrait peut-être bidouiller quelque chose entre la macro et le format conditionnel

ou adapter ton besoin à une X solution sortie de la tête d'un Xdien ou Xdienne.


(cela dépend leur inspiration de la soirée, et comme nous commençons la semaine on est pas encore trop crevé)


Celeda
 
L

lm76000

Guest
bonsoir celeda,

je parle en effet que de rproduire des couleurs, j'ai environ une trentaine de cellules sources avec des couleurs différentes.
je n'ai pas de demo précise, je suis justement en train de réaliser mon tableur.

d'avance merci
 
L

lm76000

Guest
bonsoir à tous,

voici un exemple approximatif de mon tableur

d'avance merci pour vos réponses
 

Pièces jointes

  • semainier.zip
    2.1 KB · Affichages: 21
  • semainier.zip
    2.1 KB · Affichages: 18
  • semainier.zip
    2.1 KB · Affichages: 13
C

Celeda

Guest
Bonsoir,

lm76000: le lien va te retourner sur une solution de mdF (didier pour les intimes et EDF for me)

et merci à Jean-Marie de nous avoir rappelé cette solution sur le format conditionnel à plus de trois couleurs.

Néanmoins, si on étudie bien la solution de mdF, et si tu essaies de la placer dans ton fichier, elle coincera.
Pour une raison simple : cette macro est basée sur des "valeurs" et toi tu as du texte. Il faut donc passer en événement dit "calculate" comme par exemple, une solution proposée par un autre excellent ami, LaurentTBT, qui lui-même a écrit ses codes, issus d'un autre grand XLDien Ti, sur ce fameux événement.

Bref, tout cela pour te dire que c'est pas si facile que cela de répondre à ta question; même après avoir eu quelques échanges et moultes discussions sur cet event (qui nous empoisonne la vie) sur le Tchat d'XLD.

Il s'offre à toi, quand même, quelques possibilités dont j'entrevois s'échapper un petit rai de lumière :

essayer d'adapter la macro de Laurent TBT, dans le Coffret des Listes de XLD - Tome 2 : la page "Les trois Listes"

essayer d'attendre que je retrouve un post de Ti dans lequel il avait placé une alternative (d'ailleurs de mémoire j'avais adapté un de ses fichiers pour un truc de salaire avec des couleurs selon le type de journée de vacances, rtt, ect.... mais il faut que je retrouve le fil)

ou alors voir si un autre xldien ou xldienne n'aurait pas une solution

Je sais que ma réponse ne te comblera pas mais je t'assure que pour ce soir on a fait un tour de table et qu'à cette heure je n'ai plus que cela à te proposer. Aussi donne moi, donne nous un peu de temps et à l'avance, je te demanderai de ne pas nous en vouloir si on ne pouvait pas te trouver :

la Cendrillon de tes désirs

Merci.

à suivre............

Celeda
 
C

Celeda

Guest
Bonjour,

La preuve que dans ce coffret il y a des trésors!!!

et hop j'ai adapté la macro de LaurentTBT et hop tout fonctionne :

on garde la liste "personel" comme tu l'as faite
on adapte la plage dans la macro Alt F11
on passe en blanc la couleur du résultat du choix

et c'est fini tu as les couleurs.

Celeda
 

Pièces jointes

  • semainiermefc.zip
    8.6 KB · Affichages: 28
L

lm76000

Guest
bonsoir Jean-Marie et Celeda,

j'ai adapté la formule à mon tableur définitif, tout fonctionne correctement...
c'est génial.

Un grand merci à vous deux pour ce tuyaux.

longue vie au forum

A bientôt, je pense que j'aurais encore besoin de vos services.

lm76000
 
L

lm76000

Guest
liste de validation - CELEDA

Bonsoir,

Suite au fil suivant, je me suis appercu que la macro empéchai d'annuler la dernière opération , celle-ci fonctionne parfaitement, cependant y aurait-il un moyen de rétablir la fonction annuler.

d'anvance merci.

A+

LM76000

http://www.excel-downloads.com/html/French/forum/read.php?f=1&i=132845&t=132551
 
C

Celeda

Guest
Bonsoir Le Forum,


Jacques : non seulement tu as rendu service à tous ceux et celles qui se servent des listes déroulantes mais bien plus tu viens d'ajouter une pierre de connaissance à la montagne des Listes de XLD.


Merci beaucoup.
 
C

Celeda

Guest
Bonsoir Le Forum,

lm76000 : et si je te disais que je le sais pas!!!moia!!!

mais que.....................................

Help mes amis les macrotistes,vébéasites, qu'en pensez-vous

on l'annule comment la dernière action svp ???????? merci!!!!!!!!


Pour nous souvenir de ce que l'on faisait sur ce fil :

Voici un petit historique :


"La question d'afficher plus de trois couleurs dans des listes de validation se retrouve souvent posée.
L'idée fut de créer une macro événementielle afin de pallier au format conditionnel."


1 Nommer la plage - Insertion Noms
competences =LesCouleursListes!$B$15:$B$18

2 Validation - Données
Dans ce menu, Autoriser Liste = compétences

3 Copier les macros suivantes dans la feuille de code correspondant à cette feuille ("LesCouleursListes")

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   If ActiveCell.Address = "$G$2" Then Exit Sub
   Range("G2").Formula = "=" & ActiveCell.Address
End Sub

Private Sub Worksheet_Calculate()
Dim Cellule As Range
On Error Resume Next
'For Each Cellule In selecion
   If Not Application.Intersect(Cellule, Range("B8:D14")) Is Nothing Then
      Cellule.Interior.ColorIndex = xlNone
      Cellule.Interior.ColorIndex = Range("competences").Cells.Find(What:=Cellule, After:=Range("competences").Range("A1"), LookIn:=xlFormulas, _
            LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=True, SearchFormat:=False).Interior.ColorIndex
      Cellule.Font.ColorIndex = Range("competences").Cells.Find(What:=Cellule, After:=Range("competences").Range("A1"), LookIn:=xlFormulas, _
            LookAt:=xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, _
            MatchCase:=True, SearchFormat:=False).Font.ColorIndex
   End If
Next Cellule
End Sub

4 Explications
Il aurait pu paraître logique d'utiliser l'événement Worksheet_Change pour faire mettre la couleur
lorsque l'on sélectionne un élément d'une liste.
MAIS: cette événement ne se produit bizarrement pas lorsqu'on modifie le contenu d'une cellule
contenant une liste de validation.
ASTUCE: faire déclencher l'événement Worksheet_Calculate par une cellule intermédiaire
Pour cela, lorsqu'on sélectionne une cellule de la feuille, l'événement Worksheet_SelectionChange va aller
placer une formule en cellule G2
Cette formule ordonne à G2 de devenir égale à la cellule sélectionnée.

Par exemple, si on sélectionne la cellule B8, alors G2 contiendra comme formule: =$B$8
Cette cellule G8 sert d'intermédiaire, et doit être une cellule cachée.

Ensuite, lorsqu'on sélectionne un élément dans la liste déroulante en B8, par exemple, "maitrisé":
La cellule B8 contient bien "maitrisé"
La cellule G2 se change aussi en "maitrisé", et c'est elle qui va déclencher l'événement "Worksheet_Calculate"

L'événement worksheet_calculate va alors se charger d'aller récupérer la couleur de l'élément sélectionné dans la liste des compétences,
et appliquer cette couleur à la cellul esélectionnée.
Ex: B8 vaut "Maitrisé"
On va chercher où se trouve "maitrisé" dans la liste "competences"
On récupère couleur de fond et couleur de police que l'on applique en retours à B8.

ATTENTION: il faut être en mode de calcul automatique!
(Menu Outils, Options, onglet Calcul, sélectionner "automatique")

LaurentTBT 04-04-04
sur une adaptation d'une macro de Ti
extrait de Lien supprimé : Les couleursListes


Celeda
 

Discussions similaires

Statistiques des forums

Discussions
312 685
Messages
2 090 928
Membres
104 702
dernier inscrit
Hugotheking