Récupération de la mise en forme en utilisant la validation de donnée sur liste

Le
bertrand.dienis
Bonjour

J'utilise la validation de données sur liste pour la saisie de valeurs
dans une colonne excel ; la liste de référence contenant un certain
nombre de codes.
Dans cette liste de références, les cellules contiennent non seulement
ces codes mais sont en plus mises en forme avec un fond de couleur
spécfique à chaque code.

A la saisie des valeurs dans ma colonne de données (par liste
déroulante) je souhaiterais que la mise en forme correspondante au
code sléectionné soit récupérée automatiquement

Je ne pense pas que cela soit possible par la mis ene forme
conditionnelle et je penche donc pour une macro.

Etes-vous d'accord ? Quelqu'un a-t-il déjà été confronté au probl=
ème
et peut-il m'aider ?

Merci d'avance
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Daniel
Le #4312671
Bonjour.
Macro valable pour des données en colonne A validées par un liste appelée
"Plage" :

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 1 Then
Target.Interior.ColorIndex = _
Range("Plage")(Application.Match(Target, [Plage], 0), 1). _
Interior.ColorIndex
End If
End Sub

Cordialement.
Daniel

Bonjour

J'utilise la validation de données sur liste pour la saisie de valeurs
dans une colonne excel ; la liste de référence contenant un certain
nombre de codes.
Dans cette liste de références, les cellules contiennent non seulement
ces codes mais sont en plus mises en forme avec un fond de couleur
spécfique à chaque code.

A la saisie des valeurs dans ma colonne de données (par liste
déroulante) je souhaiterais que la mise en forme correspondante au
code sléectionné soit récupérée automatiquement ...

Je ne pense pas que cela soit possible par la mis ene forme
conditionnelle et je penche donc pour une macro.

Etes-vous d'accord ? Quelqu'un a-t-il déjà été confronté au problème
et peut-il m'aider ?

Merci d'avance
JB
Le #4277031
Bonjour,

Pour récupérer tous les attributs: coleur,police,...

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$2" Then
Application.EnableEvents = False
p = Application.Match(Target, [maliste], 0)
Range("maliste")(p).Copy Target
Target.Validation.Add Type:=xlValidateList,
AlertStyle:=xlValidAlertStop, Operator:= _
xlBetween, Formula1:="=maliste"
Application.EnableEvents = True
End If
End Sub

http://boisgontierj.free.fr/fichiers/jb-DonneesValidationVBA.xls

JB

On 3 avr, 15:10, wrote:
Bonjour

J'utilise lavalidationde données sur liste pour la saisie de valeurs
dans une colonne excel ; la liste de référence contenant un certain
nombre de codes.
Dans cette liste de références, les cellules contiennent non seulement
ces codes mais sont en plus mises en forme avec un fond de couleur
spécfique à chaque code.

A la saisie des valeurs dans ma colonne de données (par liste
déroulante) je souhaiterais que la mise en forme correspondante au
code sléectionné soit récupérée automatiquement ...

Je ne pense pas que cela soit possible par la mis ene forme
conditionnelle et je penche donc pour une macro.

Etes-vous d'accord ? Quelqu'un a-t-il déjà été confronté au pro blème
et peut-il m'aider ?

Merci d'avance


bertrand.dienis
Le #4276751
Bonjour et merci beaucoup pour vos réponses rapides ! Cela réponds
totalement à ce que j'attendais.

Une question subsidiaire malgré tout : commenet faire pour ne pas
prendre de message d'erreur quand je saisis une valeur non comprise
dans "maliste" ? J'imagine qu'il faut tester avant d'appliquer les
attributes de couleur si la valeur saisie est bien dans "maliste" mais
je ne sais pas comment faire ...

Merci d'avance.
JB
Le #4276701
On veut récupérer la couleur de fond et la couleur d'écriture dans
une liste déroulante:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$2" Then
p = Application.Match(Target, [maliste], 0)
If Not IsError(p) Then
Target.Interior.ColorIndex = Range("maliste")
(p).Interior.ColorIndex
Target.Font.ColorIndex = Range("maliste")(p).Font.ColorIndex
End If
End If
End Sub

On veut récupérer tous les attributs dans une liste déroulante:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$2" Then
Application.EnableEvents = False
p = Application.Match(Target, [maliste], 0)
If Not IsError(p) Then
Range("maliste")(p).Copy Target
Target.Validation.Add Type:=xlValidateList,
AlertStyle:=xlValidAlertInformation, Operator:= _
xlBetween, Formula1:="=maliste"
End If
Application.EnableEvents = True
End If
End Sub

JB

On 4 avr, 12:48, wrote:
Bonjour et merci beaucoup pour vos réponses rapides ! Cela réponds
totalement à ce que j'attendais.

Une question subsidiaire malgré tout : commenet faire pour ne pas
prendre de message d'erreur quand je saisis une valeur non comprise
dans "maliste" ? J'imagine qu'il faut tester avant d'appliquer les
attributes de couleur si la valeur saisie est bien dans "maliste" mais
je ne sais pas comment faire ...

Merci d'avance.


bertrand.dienis
Le #4274621
Merci beaucoup !

C'est impec ; tout fonctionne ...
Publicité
Poster une réponse
Anonyme