Validation des données- Conserver le format source.

  • Initiateur de la discussion Initiateur de la discussion Kiriko
  • Date de début Date de début

Boostez vos compétences Excel avec notre communauté !

Rejoignez Excel Downloads, le rendez-vous des passionnés où l'entraide fait la force. Apprenez, échangez, progressez – et tout ça gratuitement ! 👉 Inscrivez-vous maintenant !

Kiriko

XLDnaute Occasionnel
Bonjour à tous !
Existe-t'il une méthode (idéalement, sans macro mais si c'est l'unique solution, ça m'intéresse aussi...) pour conserver le format de la source lorsque l'on utilise une liste en validation des données ?
Dans le fichier joint, ma liste (=ATTRIB) est définie sur la Feuil3 en colonne A, avec des formats appliqués (surtout la couleur de fond).
Dans la Feuil2, également en colonne A, j'ai appliqué une validation des données relative à ma liste "ATTRIB".
Existe-t'il une méthode autre que de créer une mise en forme conditionnelle par ligne afin de conserver ces couleurs de fond (ou le format complet en général) ?

Merci par avance !
 

Pièces jointes

Re : Validation des données- Conserver le format source.

Bonjour,

Tu peux mettre ça dans la partie vba en cas de changement sur ta feuille

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
On Error Resume Next
Dim plage As Range
colonne = ActiveCell.Column
ligne= activecell.Row
If colonne = 1 Then 'controle si on change qq chose uniquement dans la 1ière colonne
For Each plage In Sheets("feuil3").Range("ATTRIB")
With plage
With plage.Interior 'récupération du format de la cellule de la première page où se trouve la liste déroulante
temp_Pattern = .Pattern
temp_patterncolor = .PatternColorIndex
temp_themecolor = .ThemeColor
temp_tintshade = .TintAndShade
temp_pattern_tintshade = .PatternTintAndShade
End With
End With
If plage.Text = Sheets("feuil2").Range("A" & ligne).Text Then
With Sheets("feuil2").Range("A" & ligne).Interior
.Pattern = temp_Pattern
.PatternColorIndex = temp_patterncolor
.ThemeColor = temp_themecolor
.TintAndShade = temp_tintshade
.PatternTintAndShade = temp_pattern_tintshade
End With
End If
Next
Sheets("feuil2").Activate
End If
End Sub

Il y a juste qq soucis de tant à autre avec certaines couleurs !!! sinon ça fonction sous office 2007

Bonne fin de journée.

John
 
Re : Validation des données- Conserver le format source.

Bonjour et merci beaucoup john et Victor21 !
John, une question très bête mais je ne trouve pas la réponse tous seul : Si les "colonnes à surveiller" sont multiples (c'est à dire de la N° 9 à la N°63), comment modifier ton code ? (If colonne = 1 Then...)
Merci encore !
 
Re : Validation des données- Conserver le format source.

Bonjour,

Si tu veux tester la modification pour telle ou telle colonne il suffit de faire le test comme ci-dessous

If colonne = 9 or colonne = 63 Then 'controle si on change qq chose uniquement dans la 1ière colonne
...
...
End if
Bonne journée
John
 
Re : Validation des données- Conserver le format source.

Bonjour john et merci !
Je n'ai pas encore tester, mais il semblerait que ton code teste la colonne 9 OU la colonne 63, ce que je souhaite, ce serait de la colonne 9 A la colonne 63. Dois-je juste remplacer le "or" par un "to" ?
Merci encore !!
Bonne journée à toi aussi !
 
Dernière édition:
Re : Validation des données- Conserver le format source.

Oupsssss sorry mais j'ai été débordé et je n'ai aps vu la suite de ce post 🙁

Tu dois écrire :

If colonne => 9 and colonne < = 63 si tu veux contrôler ces colonnes !!!

Encore désolé pour la réponse si tardive, à mon avis tu as trouvé la réponse depuis tout ce temps !!! mais bon, tu m'as demandé et je réponds toujours...

Bonne fin de journée.

John
 
- Navigue sans publicité
- Accède à Cléa, notre assistante IA experte Excel... et pas que...
- Profite de fonctionnalités exclusives
Ton soutien permet à Excel Downloads de rester 100% gratuit et de continuer à rassembler les passionnés d'Excel.
Je deviens Supporter XLD

Discussions similaires

Réponses
3
Affichages
401
Retour