macro couleurs

mythotem

XLDnaute Junior
Bonsoir tout le monde,
Qui peux m'aider à trouver la macro qui me donne automatiqument la couleur désirée dans mon tableau de décompte bancaire (voir exemple en PJ)?
Merci d'avance.
Bonne fin de WE.
Mythotem.
 

Pièces jointes

  • couleur.xls
    15.5 KB · Affichages: 59
  • couleur.xls
    15.5 KB · Affichages: 63
  • couleur.xls
    15.5 KB · Affichages: 59

phlaurent55

Nous a quittés en 2020
Repose en paix
Re : macro couleurs

Bonjour mythotem, Jean-Claude
Bonjour à tous,

Ce n'est pas un exemple, c'est un dépôt de fichier sans explications...

A+ à tous
.................je suis du même avis

voir en pièce jointe une solution en fonction de ce que j'ai compris
il est nécessaire d'activer les macros
 

Pièces jointes

  • 111.xls
    39.5 KB · Affichages: 92
  • 111.xls
    39.5 KB · Affichages: 91
  • 111.xls
    39.5 KB · Affichages: 90

Papou-net

XLDnaute Barbatruc
Re : macro couleurs

Bonsoir le fil, mythotem,

phlaurent55, tu as été plus rapide, mais comme je ne veux pas avoir réfléchi dans le vide, je joins ma solution :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("D2:D17")) Is Nothing Then
  Set cel = Range("K:K").Find(Target.Value, LookIn:=xlValues, lookat:=xlWhole)
  Range("D" & Target.Row & ":F" & Target.Row).Font.ColorIndex = cel.Font.ColorIndex
End If
End Sub

On peut ajouter des données dans la colonne K, elles seront prises en compte sans modifier le code (il faudra juste mettre à jour la validation des données en colonne D).

Espérant avoir contribué.

Cordialement.
 

mythotem

XLDnaute Junior
Re : macro couleurs

Bonjour,
Désolé si je me suis mal exprimé, mais je vous envoie un autre fichier:
je voudrais que lorsque j'écris un des noms par exemple de la colonne J dans n'importe quelle cellule de la colonne D, celui-ci prenne la couleur désirée (en D et F)
Merci encore.
Mythotem
 

Pièces jointes

  • couleur.xls
    20.5 KB · Affichages: 78
  • couleur.xls
    20.5 KB · Affichages: 75
  • couleur.xls
    20.5 KB · Affichages: 63

Papou-net

XLDnaute Barbatruc
Re : macro couleurs

Bonjour,
Désolé si je me suis mal exprimé, mais je vous envoie un autre fichier:
je voudrais que lorsque j'écris un des noms par exemple de la colonne J dans n'importe quelle cellule de la colonne D, celui-ci prenne la couleur désirée (en D et F)
Merci encore.
Mythotem

RE :

Bonjour mythotem,

Et bien voilà, avec un fichier exemple c'est plus simple d'être efficace.

Le voici modifié en retour.

Espérant avoir répondu.

Cordialement.
 

Pièces jointes

  • mythotem.xls
    30 KB · Affichages: 57

Papou-net

XLDnaute Barbatruc
Re : macro couleurs

Merci Papou-net
Oui c'est bien ce que je voulais? en gras en D et F tu pourrais aussi ?
Etant novice et curieux, je voudrais savoir comment tu as obtenu ce résultat.
Bien cordialement.
mythotem.

RE :

Vois si le fichier corrigé te convient.

J'en ai profité pour y apporter une amélioration : si le texte saisi en colonne D ne figure pas en colonne J, alors on remet le format des colonnes D, E et F par défaut.

Cordialement.
 

Pièces jointes

  • mythotem1.xls
    28 KB · Affichages: 62

Papou-net

XLDnaute Barbatruc
Re : macro couleurs

RE, RE :

mythotem,

Par souci d'efficacité, j'ai encore apporté quelques améliorations à ton fichier.

Une nouvelle macro crée des listes de choix dans ta colonne D, en fonction de la colonne J. Si tu ajoutes ou supprimes des données dans la liste J, la macro fait un tri dans cette colonne et met à jour les listes de choix.

Je te laisse tester à ta guise.

Espérant avoir été utile.

Cordialement.
 

Pièces jointes

  • mythotem2.xls
    38.5 KB · Affichages: 76

Papou-net

XLDnaute Barbatruc
Re : macro couleurs

Merci Papou-net,
C'est exactement ce que je recherchais; mais je voudrais connaitre la "manip" ou la macro, si c'en est une,pour pouvoir l'intégrer à mon compte bancaire déjà existant.
merci encore.
Mythotem.

Tu trouveras les macros dans le module Feuil1, pour les modifier.

En voici le détail :

Code:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column = 10 Then
  MajListe
  Exit Sub
End If
If Not Intersect(Target, Range("D:D")) Is Nothing Then
  Set cel = Range("J:J").Find(Target.Value, LookIn:=xlValues, lookat:=xlWhole)
  If cel Is Nothing Then
    Range("D" & Target.Row & ":F" & Target.Row).Font.ColorIndex = xlAutomatic
    Range("D" & Target.Row & ":F" & Target.Row).Font.Bold = False
    Exit Sub
  End If
  Range("D" & Target.Row) = cel.Value
  cel.Copy
  Range("D" & Target.Row & ":F" & Target.Row).Font.ColorIndex = cel.Font.ColorIndex
  Range("D" & Target.Row & ":F" & Target.Row).Font.Bold = True
End If
End Sub
Sub MajListe()
Range("J3:J" & Range("J65536").End(xlUp).Row).Sort Key1:=Range("J3"), Order1:=xlAscending, Header:=xlNo, _
  OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom, DataOption1:=xlSortNormal
With Range("D2:D65536").Validation
  .Delete
  .Add Type:=xlValidateList, AlertStyle:=xlValidAlertStop, Operator:= _
    xlBetween, Formula1:="=$J$2:$J$" & Range("J65536").End(xlUp).Row
  .IgnoreBlank = True
  .InCellDropdown = True
  .ShowInput = True
  .ShowError = True
End With
End Sub

Il ne te restera plus qu'à modifier les adresses de plages de cellules, éventuellement.

Cordialement.
 

Michou9

XLDnaute Occasionnel
Re : macro couleurs

Bonjour Papou-net

Je me suis initié dans cette discussion de mythotem

Comme je constate que sa macro est résolue, je ne pense perturber sa discussion.

Comme celle-ci m'intéresse, à ceci près que moi c'est plutôt le couleur de fond qui m'intéresse et que je préfère que les Labels soit situés dans une feuille distincte.

J'ai donc modifié ta macro ainsi :

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("D:D")) Is Nothing Then
Set cel = Sheets("Feuil2").Range("A:A").Find(Target.Value, LookIn:=xlValues, lookat:=xlWhole)
If cel Is Nothing Then
Range("D" & Target.Row & ":D" & Target.Row).Interior.ColorIndex = xlAutomatic
Range("D" & Target.Row & ":D" & Target.Row).Font.ColorIndex = xlAutomatic
Range("D" & Target.Row & ":D" & Target.Row).Font.Bold = False
Exit Sub
End If
Range("D" & Target.Row) = cel.Value
cel.Copy
Range("D" & Target.Row & ":D" & Target.Row).Interior.ColorIndex = cel.Interior.ColorIndex
Range("D" & Target.Row & ":D" & Target.Row).Font.ColorIndex = cel.Font.ColorIndex
Range("D" & Target.Row & ":F" & Target.Row).Font.Bold = True
End If
End Sub

Cela fonctionne.

Par contre, j'ai essayé de transcrire de la même façon ta dernière macro, avec donc le trie de la colonne A Feuil 2 (au lieu de la colonne J)
et là problème je ne peux pas rajouter de label et aucun tri s'opère !

Pourrais-je obtenir ton aide ?
 

Papou-net

XLDnaute Barbatruc
Re : macro couleurs

Bonjour Papou-net

Je me suis initié dans cette discussion de mythotem

Comme je constate que sa macro est résolue, je ne pense perturber sa discussion.

Comme celle-ci m'intéresse, à ceci près que moi c'est plutôt le couleur de fond qui m'intéresse et que je préfère que les Labels soit situés dans une feuille distincte.

J'ai donc modifié ta macro ainsi :

Private Sub Worksheet_Change(ByVal Target As Range)

If Not Intersect(Target, Range("D:D")) Is Nothing Then
Set cel = Sheets("Feuil2").Range("A:A").Find(Target.Value, LookIn:=xlValues, lookat:=xlWhole)
If cel Is Nothing Then
Range("D" & Target.Row & ":D" & Target.Row).Interior.ColorIndex = xlAutomatic
Range("D" & Target.Row & ":D" & Target.Row).Font.ColorIndex = xlAutomatic
Range("D" & Target.Row & ":D" & Target.Row).Font.Bold = False
Exit Sub
End If
Range("D" & Target.Row) = cel.Value
cel.Copy
Range("D" & Target.Row & ":D" & Target.Row).Interior.ColorIndex = cel.Interior.ColorIndex
Range("D" & Target.Row & ":D" & Target.Row).Font.ColorIndex = cel.Font.ColorIndex
Range("D" & Target.Row & ":F" & Target.Row).Font.Bold = True
End If
End Sub

Cela fonctionne.

Par contre, j'ai essayé de transcrire de la même façon ta dernière macro, avec donc le trie de la colonne A Feuil 2 (au lieu de la colonne J)
et là problème je ne peux pas rajouter de label et aucun tri s'opère !

Pourrais-je obtenir ton aide ?

Bonjour à tous, Michou9,

Effectivement, ça ne marche pas car il faut que la liste des données soit sur la même feuille de travail. Par contre, on peut contourner cette contrainte en plaçant cette liste sur une autre feuille à condition de lui attribuer un nom : la difficulté réside dans le fait que la zone de liste peut évoluer, j'ai donc dû modifier la procédure MajListe. Pour simplifier les choses, j'ai également déplacé cette procédure dans le module de code Module1.

j'ai fait un essai rapide, ça semble fonctionner.

Je te laisse le soin de pousser les tests plus à fond.

Espérant avoir répondu.

Cordialement.

PS : j'ai conservé le nom d'origine du fichier, car cette solution peut également intéresser mythotem, que je salue ici.
 

Pièces jointes

  • mythotem3.xls
    47.5 KB · Affichages: 65

Michou9

XLDnaute Occasionnel
Re : macro couleurs

Bonjour Papou-net

Merci beaucoup pour la macro

Effectivement cela semble fonctionner parfaitement

Je vais essayer de la retranscrire avec mes paramètres et tester en profondeur …..

Un petit problème se pose cependant !

Si on fait une modification de Label (la couleur par exemple) ou une suppression de Label.

Le fichier reste avec les couleurs précédemment établies
On se retrouve donc inévitablement avec des couleurs de label différent suivant que ceux-ci ont été tapés avant ou après une modification.
Il faut réinitialiser donc un par un les labels du tableau
Est-il possible de réinitialiser tous les labels du tableau, lorsque on opère une modification ou suppression dans la feuille des labels ?

A plus….
 

Discussions similaires

Statistiques des forums

Discussions
312 559
Messages
2 089 605
Membres
104 226
dernier inscrit
siala Mohamed